import type { InjectedDependenciesParam, InjectedOptionsParam } from '..';
declare const _default: (deps: InjectedDependenciesParam, opts: InjectedOptionsParam) => {
    application: {
        _getId: (slugOrUuidOrId: string | number) => Promise<number>;
        getDashboardUrl(id: number): string;
        getAll<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Application["Read"]>>(options?: T, context?: "directly_accessible"): Promise<import("pinejs-client-core").OptionsToResponse<import("..").Application["Read"], T, undefined>>;
        getAllDirectlyAccessible<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Application["Read"]>>(options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").Application["Read"], T, undefined>>;
        getAllByOrganization<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Application["Read"]>>(orgHandleOrId: number | string, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").Application["Read"], T, undefined>>;
        get<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Application["Read"]>>(slugOrUuidOrId: string | number, options?: T, context?: "directly_accessible"): Promise<import("pinejs-client-core").OptionsToResponse<import("..").Application["Read"], T, undefined>[number]>;
        getDirectlyAccessible<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Application["Read"]>>(slugOrUuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").Application["Read"], T, undefined>[number]>;
        getWithDeviceServiceDetails<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Application["Read"]>>(slugOrUuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<{
            created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
            id: import("@balena/sbvr-types").Types["Integer"]["Read"];
            actor: {
                __id: import("..").Actor["Read"]["id"];
            } | [import("..").Actor["Read"]];
            should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_of__class: "fleet" | "block" | "app";
            organization: {
                __id: import("..").Organization["Read"]["id"];
            } | [import("..").Organization["Read"]];
            app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
            slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            is_for__device_type: {
                __id: import("..").DeviceType["Read"]["id"];
            } | [import("..").DeviceType["Read"]];
            should_be_running__release: {
                __id: import("..").Release["Read"]["id"];
            } | [import("..").Release["Read"]] | [] | null;
            application_type: {
                __id: import("..").ApplicationType["Read"]["id"];
            } | [import("..").ApplicationType["Read"]];
            is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
            is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_accessible_by_support_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
            is_discoverable: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_stored_at__repository_url: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
            application__has__env_var_name?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
            application_environment_variable?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
            application__has__config_var_name?: Array<import("..").ApplicationConfigVariable["Read"]>;
            application_config_variable?: Array<import("..").ApplicationConfigVariable["Read"]>;
            application__has__service_name?: Array<import("..").Service["Read"]>;
            service?: Array<import("..").Service["Read"]>;
            application__has__tag_key?: Array<import("..").ApplicationTag["Read"]>;
            application_tag?: Array<import("..").ApplicationTag["Read"]>;
            application__has__domain?: Array<import("..").ApplicationDomainMapping["Read"]>;
            application_domain_mapping?: Array<import("..").ApplicationDomainMapping["Read"]>;
            application__has__build_var_name?: Array<import("..").BuildEnvironmentVariable["Read"]>;
            build_environment_variable?: Array<import("..").BuildEnvironmentVariable["Read"]>;
            owns__device?: Array<import("..").Device["Read"]>;
            owns__release?: Array<import("..").Release["Read"]>;
            owns__public_device?: Array<import("..").PublicDevice["Read"]>;
            team__grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
            team_application_access?: Array<import("..").TeamApplicationAccess["Read"]>;
            is_accessible_by__team?: Array<import("..").TeamApplicationAccess["Read"]>;
            user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            includes__user?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            includes__user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            includes__user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            invitee__is_invited_to__application?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
            application_invite?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
            invitee?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
            is_directly_accessible_by__user?: Array<import("..").UserHasDirectAccessToApplication["Read"]>;
            can_use__application_as_host?: Array<import("..").ApplicationCanUseApplicationAsHost["Read"]>;
        }, import("../util").MergePineOptions<{
            created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
            id: import("@balena/sbvr-types").Types["Integer"]["Read"];
            actor: {
                __id: import("..").Actor["Read"]["id"];
            } | [import("..").Actor["Read"]];
            should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_of__class: "fleet" | "block" | "app";
            organization: {
                __id: import("..").Organization["Read"]["id"];
            } | [import("..").Organization["Read"]];
            app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
            slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            is_for__device_type: {
                __id: import("..").DeviceType["Read"]["id"];
            } | [import("..").DeviceType["Read"]];
            should_be_running__release: {
                __id: import("..").Release["Read"]["id"];
            } | [import("..").Release["Read"]] | [] | null;
            application_type: {
                __id: import("..").ApplicationType["Read"]["id"];
            } | [import("..").ApplicationType["Read"]];
            is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
            is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_accessible_by_support_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
            is_discoverable: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_stored_at__repository_url: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
            application__has__env_var_name?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
            application_environment_variable?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
            application__has__config_var_name?: Array<import("..").ApplicationConfigVariable["Read"]>;
            application_config_variable?: Array<import("..").ApplicationConfigVariable["Read"]>;
            application__has__service_name?: Array<import("..").Service["Read"]>;
            service?: Array<import("..").Service["Read"]>;
            application__has__tag_key?: Array<import("..").ApplicationTag["Read"]>;
            application_tag?: Array<import("..").ApplicationTag["Read"]>;
            application__has__domain?: Array<import("..").ApplicationDomainMapping["Read"]>;
            application_domain_mapping?: Array<import("..").ApplicationDomainMapping["Read"]>;
            application__has__build_var_name?: Array<import("..").BuildEnvironmentVariable["Read"]>;
            build_environment_variable?: Array<import("..").BuildEnvironmentVariable["Read"]>;
            owns__device?: Array<import("..").Device["Read"]>;
            owns__release?: Array<import("..").Release["Read"]>;
            owns__public_device?: Array<import("..").PublicDevice["Read"]>;
            team__grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
            team_application_access?: Array<import("..").TeamApplicationAccess["Read"]>;
            is_accessible_by__team?: Array<import("..").TeamApplicationAccess["Read"]>;
            user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            includes__user?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            includes__user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            includes__user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            invitee__is_invited_to__application?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
            application_invite?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
            invitee?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
            is_directly_accessible_by__user?: Array<import("..").UserHasDirectAccessToApplication["Read"]>;
            can_use__application_as_host?: Array<import("..").ApplicationCanUseApplicationAsHost["Read"]>;
        }, {
            readonly $expand: {
                readonly owns__device: {
                    readonly $expand: {
                        readonly image_install: {
                            readonly $select: readonly ["id", "download_progress", "status", "install_date"];
                            readonly $filter: {
                                readonly status: {
                                    readonly $ne: "deleted";
                                };
                            };
                            readonly $expand: {
                                readonly installs__image: {
                                    readonly $select: readonly ["id"];
                                    readonly $expand: {
                                        readonly is_a_build_of__service: {
                                            readonly $select: readonly ["id", "service_name"];
                                        };
                                    };
                                };
                                readonly is_provided_by__release: {
                                    readonly $select: readonly ["id", "commit", "raw_version"];
                                    readonly $expand: {
                                        readonly belongs_to__application: {
                                            readonly $select: readonly ["slug"];
                                        };
                                    };
                                };
                            };
                        };
                    };
                };
            };
        }, T>, string | number> & {
            owns__device: import("..").DeviceWithServiceDetails[];
        }>;
        getAppByName<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Application["Read"]>>(appName: string, options?: T, context?: "directly_accessible"): Promise<import("pinejs-client-core").OptionsToResponse<import("..").Application["Read"], T, undefined>[number]>;
        has: (slugOrUuidOrId: string | number) => Promise<boolean>;
        hasAny: () => Promise<boolean>;
        create({ name, uuid, applicationClass, deviceType, organization, }: {
            name: string;
            uuid?: string;
            applicationClass?: "app" | "fleet" | "block";
            deviceType: string;
            organization: number | string;
        }): Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
            created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
            id: import("@balena/sbvr-types").Types["Integer"]["Read"];
            actor: {
                __id: import("..").Actor["Read"]["id"];
            } | [import("..").Actor["Read"]];
            should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_of__class: "fleet" | "block" | "app";
            organization: {
                __id: import("..").Organization["Read"]["id"];
            } | [import("..").Organization["Read"]];
            app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
            slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            is_for__device_type: {
                __id: import("..").DeviceType["Read"]["id"];
            } | [import("..").DeviceType["Read"]];
            should_be_running__release: {
                __id: import("..").Release["Read"]["id"];
            } | [import("..").Release["Read"]] | [] | null;
            application_type: {
                __id: import("..").ApplicationType["Read"]["id"];
            } | [import("..").ApplicationType["Read"]];
            is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
            is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_accessible_by_support_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
            is_discoverable: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_stored_at__repository_url: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
            application__has__env_var_name?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
            application_environment_variable?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
            application__has__config_var_name?: Array<import("..").ApplicationConfigVariable["Read"]>;
            application_config_variable?: Array<import("..").ApplicationConfigVariable["Read"]>;
            application__has__service_name?: Array<import("..").Service["Read"]>;
            service?: Array<import("..").Service["Read"]>;
            application__has__tag_key?: Array<import("..").ApplicationTag["Read"]>;
            application_tag?: Array<import("..").ApplicationTag["Read"]>;
            application__has__domain?: Array<import("..").ApplicationDomainMapping["Read"]>;
            application_domain_mapping?: Array<import("..").ApplicationDomainMapping["Read"]>;
            application__has__build_var_name?: Array<import("..").BuildEnvironmentVariable["Read"]>;
            build_environment_variable?: Array<import("..").BuildEnvironmentVariable["Read"]>;
            owns__device?: Array<import("..").Device["Read"]>;
            owns__release?: Array<import("..").Release["Read"]>;
            owns__public_device?: Array<import("..").PublicDevice["Read"]>;
            team__grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
            team_application_access?: Array<import("..").TeamApplicationAccess["Read"]>;
            is_accessible_by__team?: Array<import("..").TeamApplicationAccess["Read"]>;
            user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            includes__user?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            includes__user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            includes__user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
            invitee__is_invited_to__application?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
            application_invite?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
            invitee?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
            is_directly_accessible_by__user?: Array<import("..").UserHasDirectAccessToApplication["Read"]>;
            can_use__application_as_host?: Array<import("..").ApplicationCanUseApplicationAsHost["Read"]>;
        }>>;
        remove: (slugOrUuidOrIdOrIds: string | number | number[]) => Promise<void>;
        rename: (slugOrUuidOrId: string | number, newAppName: string) => Promise<void>;
        restart: (slugOrUuidOrId: string | number) => Promise<void>;
        generateProvisioningKey: ({ slugOrUuidOrId, keyExpiryDate, keyName, keyDescription, }: {
            slugOrUuidOrId: string | number;
            keyExpiryDate: string | null;
            keyName?: string;
            keyDescription?: string;
        }) => Promise<string>;
        purge: (appId: number) => Promise<void>;
        shutdown: (appId: number, options?: {
            force?: boolean;
        }) => Promise<void>;
        reboot: (appId: number, options?: {
            force?: boolean;
        }) => Promise<void>;
        willTrackNewReleases: (slugOrUuidOrId: string | number) => Promise<boolean>;
        isTrackingLatestRelease: (slugOrUuidOrId: string | number) => Promise<boolean>;
        pinToRelease: (slugOrUuidOrId: string | number, fullReleaseHash: string) => Promise<void>;
        getTargetReleaseHash: (slugOrUuidOrId: string | number) => Promise<string | undefined>;
        trackLatestRelease: (slugOrUuidOrId: string | number) => Promise<void>;
        enableDeviceUrls: (slugOrUuidOrId: string | number) => Promise<void>;
        disableDeviceUrls: (slugOrUuidOrId: string | number) => Promise<void>;
        grantSupportAccess(slugOrUuidOrId: string | number, expiryTimestamp: number): Promise<void>;
        revokeSupportAccess: (slugOrUuidOrId: string | number) => Promise<void>;
        tags: {
            getAllByApplication: <O extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                tag_key: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }>>(parentParam: string | number | Record<string, unknown>, options?: O | undefined) => Promise<import("pinejs-client-core").OptionsToResponse<{
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                tag_key: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }, O, undefined>>;
            set: (parentParam: string | number | Record<string, unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<void>;
        };
        configVar: {
            getAllByApplication: <O extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }>>(parentParam: string | number | Record<string, unknown>, options?: O | undefined) => Promise<import("pinejs-client-core").OptionsToResponse<{
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }, O, undefined>>;
            get: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<string | undefined>;
            set: (parentParam: string | number | Record<string, unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<void>;
        };
        envVar: {
            getAllByApplication: <O extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }>>(parentParam: string | number | Record<string, unknown>, options?: O | undefined) => Promise<import("pinejs-client-core").OptionsToResponse<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }, O, undefined>>;
            get: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<string | undefined>;
            set: (parentParam: string | number | Record<string, unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<void>;
        };
        buildVar: {
            getAllByApplication: <O extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }>>(parentParam: string | number | Record<string, unknown>, options?: O | undefined) => Promise<import("pinejs-client-core").OptionsToResponse<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }, O, undefined>>;
            get: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<string | undefined>;
            set: (parentParam: string | number | Record<string, unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<void>;
        };
        membership: {
            get<T extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }>>(membershipId: number | import("pinejs-client-core").ResourceAlternateKey<Pick<{
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }, "user" | "is_member_of__application">>, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<{
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }, T, undefined>[number]>;
            getAllByApplication<T extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }>>(slugOrUuidOrId: number | string, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<{
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }, T, undefined>>;
            getAllByUser<T extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }>>(usernameOrId: number | string, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<{
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }, T, undefined>>;
            create({ application, username, roleName, }: import("./application-membership").ApplicationMembershipCreationOptions): Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }>>;
            changeRole(idOrUniqueKey: number | import("pinejs-client-core").ResourceAlternateKey<Pick<{
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }, "user" | "is_member_of__application">>, roleName: import("..").ApplicationMembershipRole["Read"]["name"]): Promise<void>;
            remove(idOrUniqueKey: number | import("pinejs-client-core").ResourceAlternateKey<Pick<{
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }, "user" | "is_member_of__application">>): Promise<void>;
        };
        invite: {
            getAll<T extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                invitee: {
                    __id: import("..").Invitee["Read"]["id"];
                } | [import("..").Invitee["Read"]];
                is_invited_to__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
            }>>(options?: T): Promise<import("pinejs-client-core").OptionsToResponse<{
                invitee: {
                    __id: import("..").Invitee["Read"]["id"];
                } | [import("..").Invitee["Read"]];
                is_invited_to__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
            }, T, undefined>>;
            getAllByApplication<T extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                invitee: {
                    __id: import("..").Invitee["Read"]["id"];
                } | [import("..").Invitee["Read"]];
                is_invited_to__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
            }>>(slugOrUuidOrId: number | string, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<{
                invitee: {
                    __id: import("..").Invitee["Read"]["id"];
                } | [import("..").Invitee["Read"]];
                is_invited_to__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
            }, T, undefined>>;
            create(slugOrUuidOrId: string | number, { invitee, roleName, message }: import("./application-invite").ApplicationInviteOptions): Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
                invitee: {
                    __id: import("..").Invitee["Read"]["id"];
                } | [import("..").Invitee["Read"]];
                is_invited_to__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
            }>>;
            revoke(id: number): Promise<void>;
            accept(invitationToken: string): Promise<void>;
        };
    };
    device: {
        getSupervisorTargetState: (uuidOrId: string | number, version?: 2 | 3) => Promise<import("../types/device-state").DeviceState>;
        getSupervisorTargetStateForApp: (slugOrUuidOrId: string | number, release?: string | number) => Promise<import("../types/device-state").DeviceStateV3>;
        generateUniqueKey(): string;
        register(applicationSlugOrUuidOrId: string | number, uuid: string, deviceTypeSlug?: string): Promise<{
            id: number;
            uuid: string;
            api_key: string;
        }>;
        generateDeviceKey: (uuidOrId: string | number, keyName?: string, keyDescription?: string, keyExpiryDate?: string) => Promise<string>;
        hasDeviceUrl: (uuidOrId: string | number) => Promise<boolean>;
        getDeviceUrl: (uuidOrId: string | number) => Promise<string>;
        enableDeviceUrl: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
        disableDeviceUrl: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
        enableLocalMode(uuidOrId: string | number): Promise<void>;
        disableLocalMode: (uuidOrId: string | number) => Promise<void>;
        isInLocalMode: (uuidOrId: string | number) => Promise<boolean>;
        getLocalModeSupport: (device: import("../../typings/utils").AtLeast<import("..").Device["Read"], typeof import("../util/local-mode").LOCAL_MODE_SUPPORT_PROPERTIES[number]>) => {
            supported: boolean;
            message: string;
        };
        enableLockOverride: (uuidOrId: string | number) => Promise<void>;
        disableLockOverride: (uuidOrId: string | number) => Promise<void>;
        hasLockOverride: (uuidOrId: string | number) => Promise<boolean>;
        getStatus(uuidOrId: string | number): Promise<string>;
        getProgress(uuidOrId: string | number): Promise<number | null>;
        grantSupportAccess(uuidOrIdOrArray: string | string[] | number | number[], expiryTimestamp: number): Promise<void>;
        revokeSupportAccess: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
        getOsVersion: (device: import("../../typings/utils").AtLeast<import("..").Device["Read"], "os_variant" | "os_version">) => string;
        isTrackingApplicationRelease: (uuidOrId: string | number) => Promise<boolean>;
        getTargetReleaseHash: (uuidOrId: string | number) => Promise<string | undefined>;
        pinToRelease: (uuidOrIdOrArray: string | string[] | number | number[], fullReleaseHashOrId: string | number) => Promise<void>;
        trackApplicationRelease: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
        pinToSupervisorRelease: (uuidOrIdOrArray: string | string[] | number | number[], supervisorVersionOrId: string | number) => Promise<void>;
        _checkOsUpdateTarget({ uuid, is_of__device_type, os_version, os_variant, }: Pick<import("..").Device["Read"], "uuid" | "os_version" | "os_variant"> & {
            is_of__device_type: [Pick<import("..").DeviceType["Read"], "slug">];
        }, targetOsRelease: Pick<import("./os").OsVersion, "raw_version" | "basedOnVersion">, mode: "start" | "pin"): void;
        startOsUpdate: {
            (uuidOrUuids: string, targetOsVersion: string, options?: {
                runDetached?: boolean;
            }): Promise<import("..").OsUpdateActionResult>;
            (uuidOrUuids: string[], targetOsVersion: string, options?: {
                runDetached?: boolean;
            }): Promise<Record<string, import("..").OsUpdateActionResult>>;
        };
        pinToOsRelease(uuidOrIdOrArray: string | string[] | number | number[], osVersionOrId: string | number): Promise<void>;
        tags: {
            getAllByApplication<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").DeviceTag["Read"]>>(slugOrUuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").DeviceTag["Read"], T, undefined>>;
            getAllByDevice: <O extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                device: {
                    __id: import("..").Device["Read"]["id"];
                } | [import("..").Device["Read"]];
                tag_key: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }>>(parentParam: string | number | Record<string, unknown>, options?: O | undefined) => Promise<import("pinejs-client-core").OptionsToResponse<{
                device: {
                    __id: import("..").Device["Read"]["id"];
                } | [import("..").Device["Read"]];
                tag_key: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }, O, undefined>>;
            set: (parentParam: string | number | Record<string, unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<void>;
        };
        configVar: {
            getAllByDevice: <O extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                device: {
                    __id: import("..").Device["Read"]["id"];
                } | [import("..").Device["Read"]];
                name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }>>(parentParam: string | number | Record<string, unknown>, options?: O | undefined) => Promise<import("pinejs-client-core").OptionsToResponse<{
                device: {
                    __id: import("..").Device["Read"]["id"];
                } | [import("..").Device["Read"]];
                name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }, O, undefined>>;
            getAllByApplication<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").DeviceConfigVariable["Read"]>>(slugOrUuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").DeviceConfigVariable["Read"], T, undefined>>;
            get: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<string | undefined>;
            set: (parentParam: string | number | Record<string, unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<void>;
        };
        envVar: {
            getAllByDevice: <O extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                device: {
                    __id: import("..").Device["Read"]["id"];
                } | [import("..").Device["Read"]];
                name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }>>(parentParam: string | number | Record<string, unknown>, options?: O | undefined) => Promise<import("pinejs-client-core").OptionsToResponse<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                device: {
                    __id: import("..").Device["Read"]["id"];
                } | [import("..").Device["Read"]];
                name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
            }, O, undefined>>;
            getAllByApplication<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").DeviceEnvironmentVariable["Read"]>>(slugOrUuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").DeviceEnvironmentVariable["Read"], T, undefined>>;
            get: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<string | undefined>;
            set: (parentParam: string | number | Record<string, unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<void>;
        };
        serviceVar: {
            getAllByDevice<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").DeviceServiceEnvironmentVariable["Read"]>>(uuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").DeviceServiceEnvironmentVariable["Read"], T, undefined>>;
            getAllByApplication<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").DeviceServiceEnvironmentVariable["Read"]>>(slugOrUuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").DeviceServiceEnvironmentVariable["Read"], T, undefined>>;
            get(uuidOrId: string | number, serviceNameOrId: string | number, key: string): Promise<string | undefined>;
            set(uuidOrId: string | number, serviceNameOrId: string | number, key: string, value: string): Promise<void>;
            remove(uuidOrId: string | number, serviceNameOrId: string | number, key: string): Promise<void>;
        };
        history: {
            getAllByDevice<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").DeviceHistory["Read"]>>(uuidOrId: string | number, { fromDate, toDate, }?: import("./device").DateFilters, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").DeviceHistory["Read"], T, undefined>>;
            getAllByApplication<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").DeviceHistory["Read"]>>(slugOrUuidOrId: string | number, { fromDate, toDate, }?: import("./device").DateFilters, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").DeviceHistory["Read"], T, undefined>>;
        };
        ping: (uuidOrId: string | number) => Promise<void>;
        identify: (uuidOrId: string | number) => Promise<void>;
        restartApplication: (uuidOrId: string | number) => Promise<void>;
        reboot: (uuidOrId: string | number, options?: {
            force?: boolean;
        }) => Promise<void>;
        shutdown: (uuidOrId: string | number, options: {
            force?: boolean;
        }) => Promise<void>;
        purge: (uuidOrId: string | number) => Promise<void>;
        update(uuidOrId: string | number, options: {
            force?: boolean;
        }): Promise<void>;
        getSupervisorState: (uuidOrId: string | number) => Promise<import("./device.supervisor-api.partial").SupervisorStatus>;
        startService: (uuidOrId: string | number, imageId: number) => Promise<void>;
        stopService: (uuidOrId: string | number, imageId: number) => Promise<void>;
        restartService: (uuidOrId: string | number, imageId: number) => Promise<void>;
        OverallStatus: typeof import("..").OverallStatus;
        getDashboardUrl(uuid: string): string;
        getAllByApplication<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Device["Read"]>>(slugOrUuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").Device["Read"], T, undefined>>;
        getAllByOrganization<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Device["Read"]>>(handleOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").Device["Read"], T, undefined>>;
        get<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Device["Read"]>>(uuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").Device["Read"], T, undefined>[number]>;
        getWithServiceDetails<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Device["Read"]>>(uuidOrId: string | number, options?: T): Promise<NonNullable<import("pinejs-client-core").OptionsToResponse<import("..").Device["Read"], import("../util").MergePineOptions<import("..").Device["Read"], {
            $expand: typeof import("../util/device-service-details").getCurrentServiceDetailsPineExpand;
        }, T>, typeof uuidOrId>> & {
            current_services_by_app: Record<string, Record<string, import("..").CurrentService[]>>;
        }>;
        getByName<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Device["Read"]>>(name: string, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").Device["Read"], T, undefined>>;
        getName: (uuidOrId: string | number) => Promise<string>;
        getApplicationName: (uuidOrId: string | number) => Promise<string>;
        has: (uuidOrId: string | number) => Promise<boolean>;
        isOnline: (uuidOrId: string | number) => Promise<boolean>;
        getLocalIPAddresses: (uuidOrId: string | number) => Promise<string[]>;
        getMACAddresses: (uuidOrId: string | number) => Promise<string[]>;
        getMetrics: (uuidOrId: string | number) => Promise<import("./device").DeviceMetrics>;
        remove: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
        deactivate: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
        rename: (uuidOrId: string | number, newName: string) => Promise<void>;
        setNote: (uuidOrIdOrArray: string | string[] | number | number[], note: string) => Promise<void>;
        setCustomLocation: (uuidOrIdOrArray: string | string[] | number | number[], location: {
            latitude: string | number;
            longitude: string | number;
        }) => Promise<void>;
        unsetCustomLocation: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
        move: (uuidOrIdOrArray: string | string[] | number | number[], applicationSlugOrUuidOrId: string | number) => Promise<void>;
    };
    deviceType: {
        get<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").DeviceType["Read"]>>(idOrSlug: number | string, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").DeviceType["Read"], T, undefined>[number]>;
        getAll<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").DeviceType["Read"]>>(options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").DeviceType["Read"], T, undefined>>;
        getAllSupported<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").DeviceType["Read"]>>(options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").DeviceType["Read"], T, undefined>>;
        getBySlugOrName: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").DeviceType["Read"]>>(slugOrName: string, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").DeviceType["Read"], T, undefined>[number]>;
        getName: (deviceTypeSlug: string) => Promise<string>;
        getSlugByName: (deviceTypeName: string) => Promise<string>;
        getInterpolatedPartials: (deviceTypeSlug: string) => Promise<import("..").Contract>;
        getInstructions: (deviceTypeSlugOrContract: string | import("..").Contract | NonNullable<import("..").DeviceType["Read"]["contract"]>) => Promise<Record<"Linux" | "MacOS" | "Windows", string[]> | string[]>;
        getInstallMethod: (deviceTypeSlug: string) => Promise<string | null>;
    };
    apiKey: {
        create({ name, expiryDate, description, }: {
            name: string;
            expiryDate: string | null;
            description?: string | null;
        }): Promise<string>;
        getAll<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").ApiKey["Read"]>>(options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").ApiKey["Read"], T, undefined>>;
        getAllNamedUserApiKeys<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").ApiKey["Read"]>>(options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").ApiKey["Read"], T, undefined>>;
        getProvisioningApiKeysByApplication<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").ApiKey["Read"]>>(slugOrUuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").ApiKey["Read"], T, undefined>>;
        getDeviceApiKeysByDevice<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").ApiKey["Read"]>>(uuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").ApiKey["Read"], T, undefined>>;
        update(id: number, apiKeyInfo: {
            name?: string;
            description?: string | null;
            expiryDate?: string | null;
        }): Promise<void>;
        revoke(id: number): Promise<void>;
    };
    key: {
        getAll: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").UserHasPublicKey["Read"]>>(options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").UserHasPublicKey["Read"], T, undefined>>;
        get: (id: number) => Promise<import("@balena/abstract-sql-to-typescript").PickDeferred<import("..").UserHasPublicKey["Read"]>>;
        remove: (id: number) => Promise<void>;
        create: (title: string, key: string) => Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
            created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
            user: {
                __id: import("..").User["Read"]["id"];
            } | [import("..").User["Read"]];
            public_key: import("@balena/sbvr-types").Types["Text"]["Read"];
            id: import("@balena/sbvr-types").Types["Integer"]["Read"];
            title: import("@balena/sbvr-types").Types["Short Text"]["Read"];
        }>>;
    };
    organization: {
        create: (organization: Partial<import("..").Organization["Write"]>) => Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
            created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
            id: import("@balena/sbvr-types").Types["Integer"]["Read"];
            name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            handle: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            company_name: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
            billing_account_code: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
            has_past_due_invoice_since__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
            is_frozen: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            industry: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
            website: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
            logo_image: import("@balena/sbvr-types").Types["WebResource"]["Read"] | null;
            is_using__billing_version: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
            is_enforcing_saml_login: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            user__is_member_of__organization?: Array<import("..").OrganizationMembership["Read"]>;
            organization_membership?: Array<import("..").OrganizationMembership["Read"]>;
            includes__user?: Array<import("..").OrganizationMembership["Read"]>;
            includes__user__is_member_of__organization?: Array<import("..").OrganizationMembership["Read"]>;
            includes__organization_membership?: Array<import("..").OrganizationMembership["Read"]>;
            includes__organization__is_authorized_by__identity_provider?: Array<import("..").IdentityProviderMembership["Read"]>;
            includes__identity_provider_membership?: Array<import("..").IdentityProviderMembership["Read"]>;
            organization__has_private_access_to__device_type?: Array<import("..").OrganizationHasPrivateAccessToDeviceType["Read"]>;
            organization__owns_credit_notification_for__feature?: Array<import("..").OrganizationCreditNotification["Read"]>;
            organization_credit_notification?: Array<import("..").OrganizationCreditNotification["Read"]>;
            organization__is_authorized_by__identity_provider?: Array<import("..").IdentityProviderMembership["Read"]>;
            identity_provider_membership?: Array<import("..").IdentityProviderMembership["Read"]>;
            is_of__application?: Array<import("..").Application["Read"]>;
            is_of__organization__is_authorized_by__identity_provider?: Array<import("..").IdentityProviderMembership["Read"]>;
            is_of__identity_provider_membership?: Array<import("..").IdentityProviderMembership["Read"]>;
            application?: Array<import("..").Application["Read"]>;
            owns__team?: Array<import("..").Team["Read"]>;
            owns__credit_bundle?: Array<import("..").CreditBundle["Read"]>;
            invitee__is_invited_to__organization?: Array<import("..").InviteeIsInvitedToOrganization["Read"]>;
            organization_invite?: Array<import("..").InviteeIsInvitedToOrganization["Read"]>;
            invitee?: Array<import("..").InviteeIsInvitedToOrganization["Read"]>;
            includes_legacy_link_to__user?: Array<import("..").User["Read"]>;
            has_private_access_to__device_type?: Array<import("..").OrganizationHasPrivateAccessToDeviceType["Read"]>;
            owns_credit_notification_for__feature?: Array<import("..").OrganizationCreditNotification["Read"]>;
            subscription?: Array<import("..").Subscription["Read"]>;
            is_authorized_by__identity_provider?: Array<import("..").IdentityProviderMembership["Read"]>;
        }>>;
        getAll: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Organization["Read"]>>(options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").Organization["Read"], T, undefined>>;
        get: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Organization["Read"]>>(handleOrId: string | number, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").Organization["Read"], T, undefined>[number]>;
        remove: (handleOrId: string | number) => Promise<void>;
        membership: {
            get<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").OrganizationMembership["Read"]>>(membershipId: number | import("pinejs-client-core").ResourceAlternateKey<Pick<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                organization_membership_role: {
                    __id: import("..").OrganizationMembershipRole["Read"]["id"];
                } | [import("..").OrganizationMembershipRole["Read"]];
                effective_seat_role: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                user__is_member_of__organization__has__tag_key?: Array<import("..").OrganizationMembershipTag["Read"]>;
                organization_membership__has__tag_key?: Array<import("..").OrganizationMembershipTag["Read"]>;
                organization_membership_tag?: Array<import("..").OrganizationMembershipTag["Read"]>;
                organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }, "user" | "is_member_of__organization">>, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").OrganizationMembership["Read"], T, undefined>[number]>;
            getAllByOrganization<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").OrganizationMembership["Read"]>>(handleOrId: number | string, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").OrganizationMembership["Read"], T, undefined>>;
            getAllByUser<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").OrganizationMembership["Read"]>>(usernameOrId: number | string, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").OrganizationMembership["Read"], T, undefined>>;
            changeRole(idOrUniqueKey: number | import("pinejs-client-core").ResourceAlternateKey<Pick<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                organization_membership_role: {
                    __id: import("..").OrganizationMembershipRole["Read"]["id"];
                } | [import("..").OrganizationMembershipRole["Read"]];
                effective_seat_role: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                user__is_member_of__organization__has__tag_key?: Array<import("..").OrganizationMembershipTag["Read"]>;
                organization_membership__has__tag_key?: Array<import("..").OrganizationMembershipTag["Read"]>;
                organization_membership_tag?: Array<import("..").OrganizationMembershipTag["Read"]>;
                organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }, "user" | "is_member_of__organization">>, roleName: import("..").OrganizationMembershipRole["Read"]["name"]): Promise<void>;
            remove(idOrUniqueKey: number | import("pinejs-client-core").ResourceAlternateKey<Pick<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
                is_member_of__organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                organization_membership_role: {
                    __id: import("..").OrganizationMembershipRole["Read"]["id"];
                } | [import("..").OrganizationMembershipRole["Read"]];
                effective_seat_role: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                user__is_member_of__organization__has__tag_key?: Array<import("..").OrganizationMembershipTag["Read"]>;
                organization_membership__has__tag_key?: Array<import("..").OrganizationMembershipTag["Read"]>;
                organization_membership_tag?: Array<import("..").OrganizationMembershipTag["Read"]>;
                organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
                includes__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]];
            }, "user" | "is_member_of__organization">>): Promise<void>;
            tags: {
                getAllByOrganization<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").OrganizationMembershipTag["Read"]>>(handleOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").OrganizationMembershipTag["Read"], T, undefined>>;
                getAllByOrganizationMembership: <O extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                    organization_membership: {
                        __id: import("..").OrganizationMembership["Read"]["id"];
                    } | [import("..").OrganizationMembership["Read"]];
                    tag_key: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                    id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                    value: import("@balena/sbvr-types").Types["Text"]["Read"];
                    user__is_member_of__organization: {
                        __id: import("..").OrganizationMembership["Read"]["id"];
                    } | [import("..").OrganizationMembership["Read"]];
                }>>(parentParam: string | number | Record<string, unknown>, options?: O | undefined) => Promise<import("pinejs-client-core").OptionsToResponse<{
                    organization_membership: {
                        __id: import("..").OrganizationMembership["Read"]["id"];
                    } | [import("..").OrganizationMembership["Read"]];
                    tag_key: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                    id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                    value: import("@balena/sbvr-types").Types["Text"]["Read"];
                    user__is_member_of__organization: {
                        __id: import("..").OrganizationMembership["Read"]["id"];
                    } | [import("..").OrganizationMembership["Read"]];
                }, O, undefined>>;
                set: (parentParam: string | number | Record<string, unknown>, key: string, value: string) => Promise<void>;
                remove: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<void>;
            };
        };
        invite: {
            getAll<T extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                invitee: {
                    __id: import("..").Invitee["Read"]["id"];
                } | [import("..").Invitee["Read"]];
                is_invited_to__organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                organization_membership_role: {
                    __id: import("..").OrganizationMembershipRole["Read"]["id"];
                } | [import("..").OrganizationMembershipRole["Read"]];
                message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
            }>>(options?: T): Promise<import("pinejs-client-core").OptionsToResponse<{
                invitee: {
                    __id: import("..").Invitee["Read"]["id"];
                } | [import("..").Invitee["Read"]];
                is_invited_to__organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                organization_membership_role: {
                    __id: import("..").OrganizationMembershipRole["Read"]["id"];
                } | [import("..").OrganizationMembershipRole["Read"]];
                message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
            }, T, undefined>>;
            getAllByOrganization<T extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                invitee: {
                    __id: import("..").Invitee["Read"]["id"];
                } | [import("..").Invitee["Read"]];
                is_invited_to__organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                organization_membership_role: {
                    __id: import("..").OrganizationMembershipRole["Read"]["id"];
                } | [import("..").OrganizationMembershipRole["Read"]];
                message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
            }>>(handleOrId: number | string, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<{
                invitee: {
                    __id: import("..").Invitee["Read"]["id"];
                } | [import("..").Invitee["Read"]];
                is_invited_to__organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                organization_membership_role: {
                    __id: import("..").OrganizationMembershipRole["Read"]["id"];
                } | [import("..").OrganizationMembershipRole["Read"]];
                message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
            }, T, undefined>>;
            create(handleOrId: string | number, { invitee, roleName, message }: import("./organization-invite").OrganizationInviteOptions): Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
                invitee: {
                    __id: import("..").Invitee["Read"]["id"];
                } | [import("..").Invitee["Read"]];
                is_invited_to__organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                organization_membership_role: {
                    __id: import("..").OrganizationMembershipRole["Read"]["id"];
                } | [import("..").OrganizationMembershipRole["Read"]];
                message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                organization: {
                    __id: import("..").Organization["Read"]["id"];
                } | [import("..").Organization["Read"]];
            }>>;
            revoke(id: number): Promise<void>;
            accept(invitationToken: string): Promise<void>;
        };
    };
    team: {
        create: (organizationSlugOrId: string | number, name: string) => Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
            created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
            id: import("@balena/sbvr-types").Types["Integer"]["Read"];
            belongs_to__organization: {
                __id: import("..").Organization["Read"]["id"];
            } | [import("..").Organization["Read"]];
            name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            description: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
            team__grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
            team_application_access?: Array<import("..").TeamApplicationAccess["Read"]>;
            grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
            user__is_member_of__team?: Array<import("..").TeamMembership["Read"]>;
            team_membership?: Array<import("..").TeamMembership["Read"]>;
            includes__user?: Array<import("..").TeamMembership["Read"]>;
        }>>;
        getAllByOrganization: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Team["Read"]>>(organizationSlugOrId: string | number, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").Team["Read"], T, undefined>>;
        get: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Team["Read"]>>(teamId: number, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").Team["Read"], T, undefined>[number]>;
        rename: (teamId: number, newTeamName: string) => Promise<void>;
        remove: (teamId: number) => Promise<void>;
        applicationAccess: {
            getAllByTeam: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").TeamApplicationAccess["Read"]>>(teamId: number, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").TeamApplicationAccess["Read"], T, undefined>>;
            get: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").TeamApplicationAccess["Read"]>>(teamApplicationAccessId: number, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").TeamApplicationAccess["Read"], T, undefined>[number]>;
            add: (teamId: number, applicationIdOrSlug: number | string, roleName: import("..").ApplicationMembershipRole["Read"]["name"]) => Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                team: {
                    __id: import("..").Team["Read"]["id"];
                } | [import("..").Team["Read"]];
                grants_access_to__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                application_membership_role: {
                    __id: import("..").ApplicationMembershipRole["Read"]["id"];
                } | [import("..").ApplicationMembershipRole["Read"]];
                application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                is_accessible_by__team: {
                    __id: import("..").Team["Read"]["id"];
                } | [import("..").Team["Read"]];
            }>>;
            update: (teamApplicationAccessId: number, roleName: import("..").ApplicationMembershipRole["Read"]["name"]) => Promise<void>;
            remove: (teamApplicationAccessId: number) => Promise<void>;
        };
        membership: {
            get<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").TeamMembership["Read"]>>(membershipId: number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").TeamMembership["Read"], T, undefined>[number]>;
            getAllByTeam<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").TeamMembership["Read"]>>(teamId: number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").TeamMembership["Read"], T, undefined>>;
            getAllByUser<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").TeamMembership["Read"]>>(usernameOrId: number | string, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").TeamMembership["Read"], T, undefined>>;
            create({ team, username, }: {
                team: number;
                username: string;
            }): Promise<import("..").TeamMembership["Read"]>;
            remove(idOrIds: number | number[]): Promise<void>;
        };
    };
    os: {
        _getNormalizedDeviceTypeSlug: (deviceTypeSlug: string) => Promise<string>;
        _getDownloadSize: (deviceType: string, version: string) => Promise<number>;
        _clearDeviceTypesAndOsVersionCaches: () => void;
        _getMaxSatisfyingVersion: (versionOrRange: string, osVersions: Array<Pick<import("./os").OsVersion, "raw_version">>) => string | null;
        OsTypes: typeof import("./os").OsTypes;
        getAllOsVersions: {
            (deviceType: string, options?: undefined): Promise<import("./os").OsVersion[]>;
            (deviceType: string[], options?: undefined): Promise<Record<string, import("./os").OsVersion[]>>;
            <TP extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Release["Read"]>>(deviceType: string, options?: TP): Promise<(import("pinejs-client-core").OptionsToResponse<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                belongs_to__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                commit: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                composition: import("@balena/sbvr-types").Types["JSON"]["Read"];
                status: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                source: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                build_log: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_invalidated: import("@balena/sbvr-types").Types["Boolean"]["Read"];
                start_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                end_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
                update_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                release_version: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
                contract: import("@balena/sbvr-types").Types["JSON"]["Read"] | null;
                is_passing_tests: import("@balena/sbvr-types").Types["Boolean"]["Read"];
                is_finalized_at__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
                phase: "next" | "current" | "sunset" | "end-of-life" | null;
                is_final: import("@balena/sbvr-types").Types["Boolean"]["Read"];
                semver: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                semver_major: import("@balena/sbvr-types").Types["Integer"]["Read"];
                semver_minor: import("@balena/sbvr-types").Types["Integer"]["Read"];
                semver_patch: import("@balena/sbvr-types").Types["Integer"]["Read"];
                semver_prerelease: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                semver_build: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                variant: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                revision: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
                raw_version: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                version: import("@balena/sbvr-types").Types["JSON"]["Read"];
                known_issue_list: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                note: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                invalidation_reason: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                release__has__tag_key?: Array<import("..").ReleaseTag["Read"]>;
                release_tag?: Array<import("..").ReleaseTag["Read"]>;
                release__has__asset_key?: Array<import("..").ReleaseAsset["Read"]>;
                release_asset?: Array<import("..").ReleaseAsset["Read"]>;
                image__is_part_of__release?: Array<import("..").ImageIsPartOfRelease["Read"]>;
                release_image?: Array<import("..").ImageIsPartOfRelease["Read"]>;
                contains__image?: Array<import("..").ImageIsPartOfRelease["Read"]>;
                should_be_running_on__application?: Array<import("..").Application["Read"]>;
                should_be_running_on__device?: Array<import("..").Device["Read"]>;
                is_running_on__device?: Array<import("..").Device["Read"]>;
                is_pinned_to__device?: Array<import("..").Device["Read"]>;
                should_operate__device?: Array<import("..").Device["Read"]>;
                should_manage__device?: Array<import("..").Device["Read"]>;
                provides__device__installs__image?: Array<import("..").ImageInstall["Read"]>;
                provides__image_install?: Array<import("..").ImageInstall["Read"]>;
            }, NonNullable<NonNullable<TP>>, undefined>[number] & {
                strippedVersion: string;
                basedOnVersion?: string;
                osType: string;
                line?: import("./os").OsLines;
            })[]>;
            <TP extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Release["Read"]>>(deviceTypes: string[], options?: TP): Promise<Record<string, (import("pinejs-client-core").OptionsToResponse<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                belongs_to__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                commit: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                composition: import("@balena/sbvr-types").Types["JSON"]["Read"];
                status: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                source: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                build_log: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_invalidated: import("@balena/sbvr-types").Types["Boolean"]["Read"];
                start_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                end_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
                update_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                release_version: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
                contract: import("@balena/sbvr-types").Types["JSON"]["Read"] | null;
                is_passing_tests: import("@balena/sbvr-types").Types["Boolean"]["Read"];
                is_finalized_at__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
                phase: "next" | "current" | "sunset" | "end-of-life" | null;
                is_final: import("@balena/sbvr-types").Types["Boolean"]["Read"];
                semver: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                semver_major: import("@balena/sbvr-types").Types["Integer"]["Read"];
                semver_minor: import("@balena/sbvr-types").Types["Integer"]["Read"];
                semver_patch: import("@balena/sbvr-types").Types["Integer"]["Read"];
                semver_prerelease: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                semver_build: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                variant: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                revision: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
                raw_version: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                version: import("@balena/sbvr-types").Types["JSON"]["Read"];
                known_issue_list: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                note: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                invalidation_reason: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                release__has__tag_key?: Array<import("..").ReleaseTag["Read"]>;
                release_tag?: Array<import("..").ReleaseTag["Read"]>;
                release__has__asset_key?: Array<import("..").ReleaseAsset["Read"]>;
                release_asset?: Array<import("..").ReleaseAsset["Read"]>;
                image__is_part_of__release?: Array<import("..").ImageIsPartOfRelease["Read"]>;
                release_image?: Array<import("..").ImageIsPartOfRelease["Read"]>;
                contains__image?: Array<import("..").ImageIsPartOfRelease["Read"]>;
                should_be_running_on__application?: Array<import("..").Application["Read"]>;
                should_be_running_on__device?: Array<import("..").Device["Read"]>;
                is_running_on__device?: Array<import("..").Device["Read"]>;
                is_pinned_to__device?: Array<import("..").Device["Read"]>;
                should_operate__device?: Array<import("..").Device["Read"]>;
                should_manage__device?: Array<import("..").Device["Read"]>;
                provides__device__installs__image?: Array<import("..").ImageInstall["Read"]>;
                provides__image_install?: Array<import("..").ImageInstall["Read"]>;
            }, NonNullable<NonNullable<TP>>, undefined>[number] & {
                strippedVersion: string;
                basedOnVersion?: string;
                osType: string;
                line?: import("./os").OsLines;
            })[]>>;
        };
        getAvailableOsVersions: {
            <DT extends string | string[]>(deviceType: DT, pineOptions?: undefined, extraOptions?: {
                includeDraft?: boolean;
            }): Promise<DT extends string ? import("./os").OsVersion[] : Record<string, import("./os").OsVersion[]>>;
            <DT extends string | string[], TP extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Release["Read"]>>(deviceType: DT, pineOptions: TP, extraOptions?: {
                includeDraft?: boolean;
            }): Promise<DT extends string ? (import("pinejs-client-core").OptionsToResponse<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                belongs_to__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                commit: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                composition: import("@balena/sbvr-types").Types["JSON"]["Read"];
                status: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                source: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                build_log: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_invalidated: import("@balena/sbvr-types").Types["Boolean"]["Read"];
                start_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                end_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
                update_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                release_version: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
                contract: import("@balena/sbvr-types").Types["JSON"]["Read"] | null;
                is_passing_tests: import("@balena/sbvr-types").Types["Boolean"]["Read"];
                is_finalized_at__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
                phase: "next" | "current" | "sunset" | "end-of-life" | null;
                is_final: import("@balena/sbvr-types").Types["Boolean"]["Read"];
                semver: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                semver_major: import("@balena/sbvr-types").Types["Integer"]["Read"];
                semver_minor: import("@balena/sbvr-types").Types["Integer"]["Read"];
                semver_patch: import("@balena/sbvr-types").Types["Integer"]["Read"];
                semver_prerelease: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                semver_build: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                variant: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                revision: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
                raw_version: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                version: import("@balena/sbvr-types").Types["JSON"]["Read"];
                known_issue_list: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                note: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                invalidation_reason: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                release__has__tag_key?: Array<import("..").ReleaseTag["Read"]>;
                release_tag?: Array<import("..").ReleaseTag["Read"]>;
                release__has__asset_key?: Array<import("..").ReleaseAsset["Read"]>;
                release_asset?: Array<import("..").ReleaseAsset["Read"]>;
                image__is_part_of__release?: Array<import("..").ImageIsPartOfRelease["Read"]>;
                release_image?: Array<import("..").ImageIsPartOfRelease["Read"]>;
                contains__image?: Array<import("..").ImageIsPartOfRelease["Read"]>;
                should_be_running_on__application?: Array<import("..").Application["Read"]>;
                should_be_running_on__device?: Array<import("..").Device["Read"]>;
                is_running_on__device?: Array<import("..").Device["Read"]>;
                is_pinned_to__device?: Array<import("..").Device["Read"]>;
                should_operate__device?: Array<import("..").Device["Read"]>;
                should_manage__device?: Array<import("..").Device["Read"]>;
                provides__device__installs__image?: Array<import("..").ImageInstall["Read"]>;
                provides__image_install?: Array<import("..").ImageInstall["Read"]>;
            }, NonNullable<TP>, undefined>[number] & {
                strippedVersion: string;
                basedOnVersion?: string;
                osType: string;
                line?: import("./os").OsLines;
            })[] : Record<string, (import("pinejs-client-core").OptionsToResponse<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                belongs_to__application: {
                    __id: import("..").Application["Read"]["id"];
                } | [import("..").Application["Read"]];
                commit: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                composition: import("@balena/sbvr-types").Types["JSON"]["Read"];
                status: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                source: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                build_log: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_invalidated: import("@balena/sbvr-types").Types["Boolean"]["Read"];
                start_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                end_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
                update_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                release_version: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
                contract: import("@balena/sbvr-types").Types["JSON"]["Read"] | null;
                is_passing_tests: import("@balena/sbvr-types").Types["Boolean"]["Read"];
                is_finalized_at__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
                phase: "next" | "current" | "sunset" | "end-of-life" | null;
                is_final: import("@balena/sbvr-types").Types["Boolean"]["Read"];
                semver: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                semver_major: import("@balena/sbvr-types").Types["Integer"]["Read"];
                semver_minor: import("@balena/sbvr-types").Types["Integer"]["Read"];
                semver_patch: import("@balena/sbvr-types").Types["Integer"]["Read"];
                semver_prerelease: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                semver_build: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                variant: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                revision: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
                raw_version: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                version: import("@balena/sbvr-types").Types["JSON"]["Read"];
                known_issue_list: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                note: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                invalidation_reason: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
                is_created_by__user: {
                    __id: import("..").User["Read"]["id"];
                } | [import("..").User["Read"]] | [] | null;
                release__has__tag_key?: Array<import("..").ReleaseTag["Read"]>;
                release_tag?: Array<import("..").ReleaseTag["Read"]>;
                release__has__asset_key?: Array<import("..").ReleaseAsset["Read"]>;
                release_asset?: Array<import("..").ReleaseAsset["Read"]>;
                image__is_part_of__release?: Array<import("..").ImageIsPartOfRelease["Read"]>;
                release_image?: Array<import("..").ImageIsPartOfRelease["Read"]>;
                contains__image?: Array<import("..").ImageIsPartOfRelease["Read"]>;
                should_be_running_on__application?: Array<import("..").Application["Read"]>;
                should_be_running_on__device?: Array<import("..").Device["Read"]>;
                is_running_on__device?: Array<import("..").Device["Read"]>;
                is_pinned_to__device?: Array<import("..").Device["Read"]>;
                should_operate__device?: Array<import("..").Device["Read"]>;
                should_manage__device?: Array<import("..").Device["Read"]>;
                provides__device__installs__image?: Array<import("..").ImageInstall["Read"]>;
                provides__image_install?: Array<import("..").ImageInstall["Read"]>;
            }, NonNullable<TP>, undefined>[number] & {
                strippedVersion: string;
                basedOnVersion?: string;
                osType: string;
                line?: import("./os").OsLines;
            })[]>>;
        };
        getMaxSatisfyingVersion: (deviceType: string, versionOrRange?: string, osType?: "default" | "esr") => Promise<string | null>;
        getDownloadSize: (deviceType: string, version?: string) => Promise<number>;
        download: (() => never) | (({ deviceType, version, ...restOptions }: import("./os").OsDownloadOptions) => Promise<import("balena-request").BalenaRequestStreamResult>);
        getConfig: (slugOrUuidOrId: string | number, options: import("./os").ImgConfigOptions) => Promise<object>;
        isSupportedOsUpdate: (deviceType: string, currentVersion: string, targetVersion: string) => Promise<boolean>;
        getOsUpdateType: (deviceType: string, currentVersion: string, targetVersion: string) => Promise<string>;
        getSupportedOsUpdateVersions: (deviceType: string, currentVersion: string, { osType, ...options }?: {
            osType?: "default" | "esr" | null;
            includeDraft?: boolean;
        }) => Promise<import("./os").OsUpdateVersions>;
        isArchitectureCompatibleWith: (osArchitecture: string, applicationArchitecture: string) => boolean;
        getSupervisorReleasesForCpuArchitecture: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Release["Read"]>>(cpuArchitectureSlugOrId: string | number, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<{
            created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
            id: import("@balena/sbvr-types").Types["Integer"]["Read"];
            belongs_to__application: {
                __id: import("..").Application["Read"]["id"];
            } | [import("..").Application["Read"]];
            commit: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            composition: import("@balena/sbvr-types").Types["JSON"]["Read"];
            status: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            source: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            build_log: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
            is_invalidated: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            start_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
            end_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
            update_timestamp: import("@balena/sbvr-types").Types["Date Time"]["Read"];
            release_version: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
            contract: import("@balena/sbvr-types").Types["JSON"]["Read"] | null;
            is_passing_tests: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            is_finalized_at__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
            phase: "next" | "current" | "sunset" | "end-of-life" | null;
            is_final: import("@balena/sbvr-types").Types["Boolean"]["Read"];
            semver: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            semver_major: import("@balena/sbvr-types").Types["Integer"]["Read"];
            semver_minor: import("@balena/sbvr-types").Types["Integer"]["Read"];
            semver_patch: import("@balena/sbvr-types").Types["Integer"]["Read"];
            semver_prerelease: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            semver_build: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            variant: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            revision: import("@balena/sbvr-types").Types["Integer"]["Read"] | null;
            raw_version: import("@balena/sbvr-types").Types["Short Text"]["Read"];
            version: import("@balena/sbvr-types").Types["JSON"]["Read"];
            known_issue_list: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
            note: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
            invalidation_reason: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
            is_created_by__user: {
                __id: import("..").User["Read"]["id"];
            } | [import("..").User["Read"]] | [] | null;
            release__has__tag_key?: Array<import("..").ReleaseTag["Read"]>;
            release_tag?: Array<import("..").ReleaseTag["Read"]>;
            release__has__asset_key?: Array<import("..").ReleaseAsset["Read"]>;
            release_asset?: Array<import("..").ReleaseAsset["Read"]>;
            image__is_part_of__release?: Array<import("..").ImageIsPartOfRelease["Read"]>;
            release_image?: Array<import("..").ImageIsPartOfRelease["Read"]>;
            contains__image?: Array<import("..").ImageIsPartOfRelease["Read"]>;
            should_be_running_on__application?: Array<import("..").Application["Read"]>;
            should_be_running_on__device?: Array<import("..").Device["Read"]>;
            is_running_on__device?: Array<import("..").Device["Read"]>;
            is_pinned_to__device?: Array<import("..").Device["Read"]>;
            should_operate__device?: Array<import("..").Device["Read"]>;
            should_manage__device?: Array<import("..").Device["Read"]>;
            provides__device__installs__image?: Array<import("..").ImageInstall["Read"]>;
            provides__image_install?: Array<import("..").ImageInstall["Read"]>;
        }, import("../util").MergePineOptions<import("../util").AliasResourceRead, {
            $select: ("id" | "raw_version" | "known_issue_list")[];
            $filter: {
                status: "success";
                is_final: true;
                is_invalidated: false;
                semver_major: {
                    $gt: number;
                };
                belongs_to__application: {
                    $any: {
                        $alias: string;
                        $expr: {
                            $and: ({
                                a: {
                                    slug: {
                                        $startswith: string;
                                        $endswith?: undefined;
                                    };
                                };
                            } | {
                                a: {
                                    slug: {
                                        $endswith: string;
                                        $startswith?: undefined;
                                    };
                                };
                            })[];
                            a: {
                                is_public: true;
                                is_host: false;
                                is_for__device_type: {
                                    $any: {
                                        $alias: string;
                                        $expr: {
                                            dt: {
                                                is_of__cpu_architecture: number | {
                                                    $any: {
                                                        $alias: string;
                                                        $expr: {
                                                            c: {
                                                                slug: string;
                                                            };
                                                        };
                                                    };
                                                };
                                            };
                                        };
                                    };
                                };
                            };
                        };
                    };
                };
            };
            $orderby: ({
                semver_major: "desc";
                semver_minor?: undefined;
                semver_patch?: undefined;
                revision?: undefined;
            } | {
                semver_minor: "desc";
                semver_major?: undefined;
                semver_patch?: undefined;
                revision?: undefined;
            } | {
                semver_patch: "desc";
                semver_major?: undefined;
                semver_minor?: undefined;
                revision?: undefined;
            } | {
                revision: "desc";
                semver_major?: undefined;
                semver_minor?: undefined;
                semver_patch?: undefined;
            })[];
        }, T>, undefined>>;
    };
    config: {
        getAll: () => Promise<import("./config").Config>;
        getDeviceTypes: () => Promise<import("../types/device-type-json").DeviceType[]>;
        getDeviceTypeManifestBySlug: (slugOrName: string) => Promise<import("../types/device-type-json").DeviceType>;
        getDeviceOptions: (deviceType: string) => Promise<Array<import("../types/device-type-json").DeviceTypeOptions | import("../types/device-type-json").DeviceInitializationOptions>>;
        getConfigVarSchema: (deviceType?: string) => Promise<import("./config").ConfigVarDefinition>;
    };
    release: {
        get: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Release["Read"]>>(commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").Release["Read"], T, undefined>[number]>;
        getAllByApplication: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Release["Read"]>>(slugOrUuidOrId: string | number, options?: T) => Promise<NoInfer<import("pinejs-client-core").OptionsToResponse<import("..").Release["Read"], T, undefined>>>;
        getLatestByApplication: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Release["Read"]>>(slugOrUuidOrId: string | number, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").Release["Read"], T, undefined>[number]>;
        getWithImageDetails: <R extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Release["Read"]>, I extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Image["Read"]>>(commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, options?: {
            release?: R;
            image?: I;
        }) => Promise<import("./release").ReleaseWithImageDetails>;
        createFromUrl: (slugOrUuidOrId: string | number, urlDeployOptions: import("..").BuilderUrlDeployOptions) => Promise<number>;
        finalize: (commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair) => Promise<void>;
        setIsInvalidated: (commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, isInvalidated: boolean) => Promise<void>;
        setNote: (commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, noteOrNull: string | null) => Promise<void>;
        setKnownIssueList: (commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, knownIssueListOrNull: string | null) => Promise<void>;
        tags: {
            getAllByApplication<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").ReleaseTag["Read"]>>(slugOrUuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").ReleaseTag["Read"], T, undefined>>;
            getAllByRelease<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").ReleaseTag["Read"]>>(commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").ReleaseTag["Read"], T, undefined>>;
            set: (parentParam: string | number | Record<string, unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<void>;
        };
        asset: {
            getAllByRelease: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").ReleaseAsset["Read"]>>(commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").ReleaseAsset["Read"], T, undefined>>;
            get: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").ReleaseAsset["Read"]>>(id: number | {
                asset_key: import("..").ReleaseAsset["Read"]["asset_key"];
                release: string | number | import("./release").ReleaseRawVersionApplicationPair;
            }, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").ReleaseAsset["Read"], T, undefined>[number]>;
            download: (id: number | {
                asset_key: import("..").ReleaseAsset["Read"]["asset_key"];
                release: string | number | import("./release").ReleaseRawVersionApplicationPair;
            }) => Promise<import("balena-request").BalenaRequestStreamResult>;
            upload: (uploadParams: Omit<{
                release: import("@balena/sbvr-types").Types["Integer"]["Write"];
                asset_key: import("@balena/sbvr-types").Types["Short Text"]["Write"];
                asset: import("@balena/sbvr-types").Types["WebResource"]["Write"] | null;
            }, "asset"> & {
                asset: File | string;
            }, { chunkSize, parallelUploads, overwrite, onUploadProgress, }?: {
                chunkSize?: number | undefined;
                parallelUploads?: number | undefined;
                overwrite?: boolean | undefined;
                onUploadProgress?: (progress: {
                    total: number;
                    uploaded: number;
                }) => void | Promise<void>;
            }) => Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
                release: {
                    __id: import("..").Release["Read"]["id"];
                } | [import("..").Release["Read"]];
                asset_key: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                asset: import("@balena/sbvr-types").Types["WebResource"]["Read"] | null;
            }, "release" | "id" | "asset_key" | "asset">>;
            remove: (id: number | {
                asset_key: import("..").ReleaseAsset["Read"]["asset_key"];
                release: string | number | import("./release").ReleaseRawVersionApplicationPair;
            }) => Promise<void>;
        };
    };
    service: {
        getAllByApplication: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Service["Read"]>>(slugOrUuidOrId: string | number, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").Service["Read"], T, undefined>>;
        var: {
            getAllByService: <O extends import("pinejs-client-core").ODataOptionsWithoutCount<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                service: {
                    __id: import("..").Service["Read"]["id"];
                } | [import("..").Service["Read"]];
                name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
                application__has__service_name: {
                    __id: import("..").Service["Read"]["id"];
                } | [import("..").Service["Read"]];
            }>>(parentParam: string | number | Record<string, unknown>, options?: O | undefined) => Promise<import("pinejs-client-core").OptionsToResponse<{
                created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
                service: {
                    __id: import("..").Service["Read"]["id"];
                } | [import("..").Service["Read"]];
                name: import("@balena/sbvr-types").Types["Short Text"]["Read"];
                id: import("@balena/sbvr-types").Types["Integer"]["Read"];
                value: import("@balena/sbvr-types").Types["Text"]["Read"];
                application__has__service_name: {
                    __id: import("..").Service["Read"]["id"];
                } | [import("..").Service["Read"]];
            }, O, undefined>>;
            getAllByApplication<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").ServiceEnvironmentVariable["Read"]>>(slugOrUuidOrId: string | number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").ServiceEnvironmentVariable["Read"], T, undefined>>;
            get: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<string | undefined>;
            set: (parentParam: string | number | Record<string, unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | Record<string, unknown>, key: string) => Promise<void>;
        };
    };
    image: {
        get<T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").Image["Read"]>>(id: number, options?: T): Promise<import("pinejs-client-core").OptionsToResponse<import("..").Image["Read"], T, undefined>[number]>;
        getLogs: (id: number) => Promise<string | null>;
    };
    creditBundle: {
        getAllByOrg: <T extends import("pinejs-client-core").ODataOptionsWithoutCount<import("..").CreditBundle["Read"]>>(organization: string | number, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<import("..").CreditBundle["Read"], T, undefined>>;
        create: (organization: string | number, featureId: number, creditsToPurchase: number) => Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
            created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
            modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
            id: import("@balena/sbvr-types").Types["Integer"]["Read"];
            payment_status: "processing" | "paid" | "failed" | "complimentary" | "cancelled" | "refunded" | "manually invoiced";
            is_created_by__user: {
                __id: import("..").User["Read"]["id"];
            } | [import("..").User["Read"]];
            is_for__feature: {
                __id: import("..").Feature["Read"]["id"];
            } | [import("..").Feature["Read"]];
            belongs_to__organization: {
                __id: import("..").Organization["Read"]["id"];
            } | [import("..").Organization["Read"]];
            unit_cost: import("@balena/sbvr-types").Types["Integer"]["Read"];
            original_quantity: import("@balena/sbvr-types").Types["Integer"]["Read"];
            available_balance: import("@balena/sbvr-types").Types["Integer"]["Read"];
            total_cost: import("@balena/sbvr-types").Types["Integer"]["Read"];
            total_balance: import("@balena/sbvr-types").Types["Integer"]["Read"];
            expires_on__date: import("@balena/sbvr-types").Types["Date Time"]["Read"];
            is_associated_with__invoice_id: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
            error_message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
        }>>;
    };
    billing: {
        getAccount: (organization: string | number) => Promise<import("./billing").AccountInfo>;
        getPlan: (organization: string | number) => Promise<import("./billing").BillingPlanInfo>;
        getBillingInfo: (organization: string | number) => Promise<import("./billing").BillingInfo>;
        createSetupIntent: ({ organization, ...extraParams }: {
            organization: string | number;
            "g-recaptcha-response"?: string;
        }) => Promise<{
            id: string;
            client_secret: string;
        }>;
        updateBillingInfo: (organization: string | number, billingInfo: import("./billing").TokenBillingSubmitInfo) => Promise<import("./billing").BillingInfo>;
        removeBillingInfo: (organization: string | number) => Promise<import("./billing").BillingInfo>;
        updateAccountInfo: (organization: string | number, accountInfo: Partial<import("./billing").AccountInfo>) => Promise<void>;
        changePlan: (organization: string | number, { cycle, ...restPlanChangeOptions }: import("./billing").PlanChangeOptions) => Promise<void>;
        getInvoices: (organization: string | number) => Promise<import("./billing").InvoiceInfo[]>;
        downloadInvoice(organization: string | number, invoiceNumber: string): Promise<Blob | import("balena-request").BalenaRequestStreamResult>;
    };
};
export = _default;
