import type { InjectedDependenciesParam, InjectedOptionsParam } from '..';
declare const _default: (deps: InjectedDependenciesParam, opts: InjectedOptionsParam) => {
    application: {
        _getId: (slugOrUuidOrId: string | number) => Promise<number>;
        getDashboardUrl(id: number): string;
        getAll(options?: import("..").PineOptions<import("..").Application>, context?: "directly_accessible"): Promise<import("..").Application[]>;
        getAllDirectlyAccessible(options?: import("..").PineOptions<import("..").Application>): Promise<import("..").Application[]>;
        getAllByOrganization(orgHandleOrId: number | string, options?: import("..").PineOptions<import("..").Application>): Promise<import("..").Application[]>;
        get(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Application>, context?: "directly_accessible"): Promise<import("..").Application>;
        getDirectlyAccessible(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Application>): Promise<import("..").Application>;
        getWithDeviceServiceDetails(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Application>): Promise<import("..").Application & {
            owns__device: Array<import("..").DeviceWithServiceDetails<import("..").CurrentServiceWithCommit>>;
        }>;
        getAppByName(appName: string, options?: import("..").PineOptions<import("..").Application>, context?: "directly_accessible"): Promise<import("..").Application>;
        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("..").PinePostResult<import("..").Application>>;
        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: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").ApplicationTag> | undefined) => Promise<import("..").ApplicationTag[]>;
            set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
        };
        configVar: {
            getAllByApplication: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").ApplicationVariable> | undefined) => Promise<import("..").ApplicationVariable[]>;
            get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
            set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
        };
        envVar: {
            getAllByApplication: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").ApplicationVariable> | undefined) => Promise<import("..").ApplicationVariable[]>;
            get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
            set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
        };
        buildVar: {
            getAllByApplication: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").BuildVariable> | undefined) => Promise<import("..").BuildVariable[]>;
            get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
            set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
        };
        membership: {
            get(membershipId: number | import("..").PineSubmitBody<Pick<import("..").ApplicationMembership, "user" | "is_member_of__application">>, options?: import("..").PineOptions<import("..").ApplicationMembership>): Promise<import("..").ApplicationMembership>;
            getAllByApplication(slugOrUuidOrId: number | string, options?: import("..").PineOptions<import("..").ApplicationMembership>): Promise<import("..").ApplicationMembership[]>;
            getAllByUser(usernameOrId: number | string, options?: import("..").PineOptions<import("..").ApplicationMembership>): Promise<import("..").ApplicationMembership[]>;
            create({ application, username, roleName, }: import("./application-membership").ApplicationMembershipCreationOptions): Promise<import("..").PinePostResult<import("..").ApplicationMembership>>;
            changeRole(idOrUniqueKey: number | import("..").PineSubmitBody<Pick<import("..").ApplicationMembership, "user" | "is_member_of__application">>, roleName: string): Promise<void>;
            remove(idOrUniqueKey: number | import("..").PineSubmitBody<Pick<import("..").ApplicationMembership, "user" | "is_member_of__application">>): Promise<void>;
        };
        invite: {
            getAll(options?: import("..").PineOptions<import("..").ApplicationInvite>): Promise<import("..").ApplicationInvite[]>;
            getAllByApplication(slugOrUuidOrId: number | string, options?: import("..").PineOptions<import("..").ApplicationInvite>): Promise<import("..").ApplicationInvite[]>;
            create(slugOrUuidOrId: string | number, { invitee, roleName, message }: import("./application-invite").ApplicationInviteOptions): Promise<import("..").PinePostResult<import("..").ApplicationInvite>>;
            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, 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>;
        lastOnline(device: import("../../typings/utils").AtLeast<import("..").Device, "last_connectivity_event" | "is_online">): string;
        getOsVersion: (device: import("../../typings/utils").AtLeast<import("..").Device, "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>;
        setSupervisorRelease: (uuidOrIdOrArray: string | string[] | number | number[], supervisorVersionOrId: string | number) => Promise<void>;
        _checkOsUpdateTarget({ uuid, is_of__device_type, is_online, os_version, os_variant, }: Pick<import("..").Device, "uuid" | "is_online" | "os_version" | "os_variant"> & {
            is_of__device_type: [Pick<import("..").DeviceType, "slug">];
        }, targetOsVersion: string): void;
        startOsUpdate: {
            (uuidOrUuids: string, targetOsVersion: string, options?: {
                runDetached?: boolean;
            }): Promise<import("..").OsUpdateActionResult>;
            (uuidOrUuids: string[], targetOsVersion: string, options?: {
                runDetached?: boolean;
            }): Promise<import("../../typings/utils").Dictionary<import("..").OsUpdateActionResult>>;
        };
        tags: {
            getAllByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").DeviceTag>): Promise<import("..").DeviceTag[]>;
            getAllByDevice: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").DeviceTag> | undefined) => Promise<import("..").DeviceTag[]>;
            set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
        };
        configVar: {
            getAllByDevice: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").DeviceVariable> | undefined) => Promise<import("..").DeviceVariable[]>;
            getAllByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").DeviceVariable>): Promise<import("..").DeviceVariable[]>;
            get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
            set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
        };
        envVar: {
            getAllByDevice: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").DeviceVariable> | undefined) => Promise<import("..").DeviceVariable[]>;
            getAllByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").DeviceVariable>): Promise<import("..").DeviceVariable[]>;
            get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
            set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
        };
        serviceVar: {
            getAllByDevice(uuidOrId: string | number, options?: import("..").PineOptions<import("..").DeviceServiceEnvironmentVariable>): Promise<import("..").DeviceServiceEnvironmentVariable[]>;
            getAllByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").DeviceServiceEnvironmentVariable>): Promise<import("..").DeviceServiceEnvironmentVariable[]>;
            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(uuidOrId: string | number, { fromDate, toDate, ...options }?: import("..").PineOptions<import("..").DeviceHistory> & {
                fromDate?: Date;
                toDate?: Date;
            }): Promise<import("..").DeviceHistory[]>;
            getAllByApplication(slugOrUuidOrId: string | number, { fromDate, toDate, ...options }?: import("..").PineOptions<import("..").DeviceHistory> & {
                fromDate?: Date;
                toDate?: Date;
            }): Promise<import("..").DeviceHistory[]>;
        };
        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(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Device>): Promise<import("..").Device[]>;
        getAllByOrganization(handleOrId: string | number, options?: import("..").PineOptions<import("..").Device>): Promise<import("..").Device[]>;
        get(uuidOrId: string | number, options?: import("..").PineOptions<import("..").Device>): Promise<import("..").Device>;
        getWithServiceDetails(uuidOrId: string | number, options?: import("..").PineOptions<import("..").Device>): Promise<import("..").DeviceWithServiceDetails<import("..").CurrentServiceWithCommit>>;
        getByName(name: string, options?: import("..").PineOptions<import("..").Device>): Promise<import("..").Device[]>;
        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(idOrSlug: number | string, options?: import("..").PineOptions<import("..").DeviceType>): Promise<import("..").DeviceType>;
        getAll(options?: import("..").PineOptions<import("..").DeviceType>): Promise<import("..").DeviceType[]>;
        getAllSupported(options?: import("..").PineOptions<import("..").DeviceType>): Promise<import("..").DeviceType[]>;
        getBySlugOrName: (slugOrName: string, options?: import("..").PineOptions<import("..").DeviceType>) => Promise<import("..").DeviceType>;
        getName: (deviceTypeSlug: string) => Promise<string>;
        getSlugByName: (deviceTypeName: string) => Promise<string>;
        getInterpolatedPartials: (deviceTypeSlug: string) => Promise<import("..").Contract>;
        getInstructions: (deviceTypeSlugOrContract: string | import("..").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(options?: import("..").PineOptions<import("..").ApiKey>): Promise<import("..").ApiKey[]>;
        getAllNamedUserApiKeys(options?: import("..").PineOptions<import("..").ApiKey>): Promise<import("..").ApiKey[]>;
        getProvisioningApiKeysByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").ApiKey>): Promise<import("..").ApiKey[]>;
        getDeviceApiKeysByDevice(uuidOrId: string | number, options?: import("..").PineOptions<import("..").ApiKey>): Promise<import("..").ApiKey[]>;
        update(id: number, apiKeyInfo: {
            name?: string;
            description?: string | null;
            expiryDate?: string | null;
        }): Promise<void>;
        revoke(id: number): Promise<void>;
    };
    key: {
        getAll: (options?: import("..").PineOptions<import("..").SSHKey>) => Promise<import("..").SSHKey[]>;
        get: (id: number) => Promise<import("..").SSHKey>;
        remove: (id: number) => Promise<string>;
        create: (title: string, key: string) => Promise<import("..").PinePostResult<import("..").SSHKey>>;
    };
    organization: {
        create: (organization: import("..").PineSubmitBody<import("..").Organization>) => Promise<import("..").PinePostResult<import("..").Organization>>;
        getAll: (options?: import("..").PineOptions<import("..").Organization>) => Promise<import("..").Organization[]>;
        get: (handleOrId: string | number, options?: import("..").PineOptions<import("..").Organization>) => Promise<import("..").Organization>;
        remove: (handleOrId: string | number) => Promise<void>;
        membership: {
            get(membershipId: number | import("..").PineSubmitBody<Pick<import("..").OrganizationMembership, "user" | "is_member_of__organization">>, options?: import("..").PineOptions<import("..").OrganizationMembership>): Promise<import("..").OrganizationMembership>;
            getAllByOrganization(handleOrId: number | string, options?: import("..").PineOptions<import("..").OrganizationMembership>): Promise<import("..").OrganizationMembership[]>;
            getAllByUser(usernameOrId: number | string, options?: import("..").PineOptions<import("..").OrganizationMembership>): Promise<import("..").OrganizationMembership[]>;
            changeRole(idOrUniqueKey: number | import("..").PineSubmitBody<Pick<import("..").OrganizationMembership, "user" | "is_member_of__organization">>, roleName: string): Promise<void>;
            remove(idOrUniqueKey: number | import("..").PineSubmitBody<Pick<import("..").OrganizationMembership, "user" | "is_member_of__organization">>): Promise<void>;
            tags: {
                getAllByOrganization(handleOrId: string | number, options?: import("..").PineOptions<import("..").OrganizationMembershipTag>): Promise<import("..").OrganizationMembershipTag[]>;
                getAllByOrganizationMembership: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").OrganizationMembershipTag> | undefined) => Promise<import("..").OrganizationMembershipTag[]>;
                set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
                remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
            };
        };
        invite: {
            getAll(options?: import("..").PineOptions<import("..").OrganizationInvite>): Promise<import("..").OrganizationInvite[]>;
            getAllByOrganization(handleOrId: number | string, options?: import("..").PineOptions<import("..").OrganizationInvite>): Promise<import("..").OrganizationInvite[]>;
            create(handleOrId: string | number, { invitee, roleName, message }: import("./organization-invite").OrganizationInviteOptions): Promise<import("..").PinePostResult<import("..").OrganizationInvite>>;
            revoke(id: number): Promise<void>;
            accept(invitationToken: string): Promise<void>;
        };
    };
    team: {
        create: (organizationSlugOrId: string | number, name: string) => Promise<import("..").PinePostResult<import("..").Team>>;
        getAllByOrganization: (organizationSlugOrId: string | number, options?: import("..").PineOptions<import("..").Team>) => Promise<import("..").Team[]>;
        get: (teamId: number, options?: import("..").PineOptions<import("..").Team>) => Promise<import("..").Team>;
        rename: (teamId: number, newTeamName: string) => Promise<void>;
        remove: (teamId: number) => Promise<void>;
        applicationAccess: {
            getAllByTeam: (teamId: number, options?: import("..").PineOptions<import("..").TeamApplicationAccess>) => Promise<import("..").TeamApplicationAccess[]>;
            get: (teamApplicationAccessId: number, options?: import("..").PineOptions<import("..").TeamApplicationAccess>) => Promise<import("..").TeamApplicationAccess | undefined>;
            add: (teamId: number, applicationIdOrSlug: number | string, roleName: import("..").ApplicationMembershipRoles) => Promise<import("..").TeamApplicationAccess>;
            update: (teamApplicationAccessId: number, roleName: import("..").ApplicationMembershipRoles) => Promise<void>;
            remove: (teamApplicationAccessId: 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: {
            <TP extends import("..").PineOptions<import("..").Release> | undefined>(deviceType: string, options?: TP): Promise<Array<import("../util").ExtendedPineTypedResult<import("..").Release, import("./os").OsVersion, TP>>>;
            <TP extends import("..").PineOptions<import("..").Release> | undefined>(deviceTypes: string[], options?: TP): Promise<import("../../typings/utils").Dictionary<Array<import("../util").ExtendedPineTypedResult<import("..").Release, import("./os").OsVersion, TP>>>>;
        };
        getAvailableOsVersions: {
            (deviceType: string, options?: {
                includeDraft?: boolean;
            }): Promise<import("./os").OsVersion[]>;
            (deviceTypes: string[], options?: {
                includeDraft?: boolean;
            }): Promise<import("../../typings/utils").Dictionary<import("./os").OsVersion[]>>;
            <TP extends import("..").PineOptions<import("..").Release>>(deviceType: string, options: TP & {
                includeDraft?: boolean;
            }): Promise<Array<import("../util").ExtendedPineTypedResult<import("..").Release, import("./os").OsVersion, TP>>>;
            <TP extends import("..").PineOptions<import("..").Release>>(deviceTypes: string[], options: TP & {
                includeDraft?: boolean;
            }): Promise<import("../../typings/utils").Dictionary<Array<import("../util").ExtendedPineTypedResult<import("..").Release, import("./os").OsVersion, TP>>>>;
        };
        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, options?: {
            includeDraft?: boolean;
        }) => Promise<import("./os").OsUpdateVersions>;
        isArchitectureCompatibleWith: (osArchitecture: string, applicationArchitecture: string) => boolean;
        getSupervisorReleasesForCpuArchitecture: <TP extends import("..").PineOptions<import("..").Release> | undefined>(cpuArchitectureSlugOrId: string | number, options?: TP) => Promise<Array<import("../util").ExtendedPineTypedResult<import("..").Release, Pick<import("..").Release, "id" | "raw_version" | "known_issue_list">, TP>>>;
    };
    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: (commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, options?: import("..").PineOptions<import("..").Release>) => Promise<import("..").Release>;
        getAllByApplication: (slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Release>) => Promise<import("..").Release[]>;
        getLatestByApplication: (slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Release>) => Promise<import("..").Release | undefined>;
        getWithImageDetails: (commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, options?: {
            release?: import("..").PineOptions<import("..").Release>;
            image?: import("..").PineOptions<import("..").Image>;
        }) => 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(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").ReleaseTag>): Promise<import("..").ReleaseTag[]>;
            getAllByRelease(commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, options?: import("..").PineOptions<import("..").ReleaseTag>): Promise<import("..").ReleaseTag[]>;
            set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
        };
    };
    service: {
        getAllByApplication: (slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Service>) => Promise<import("..").Service[]>;
        var: {
            getAllByService: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").ServiceEnvironmentVariable> | undefined) => Promise<import("..").ServiceEnvironmentVariable[]>;
            getAllByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").ServiceEnvironmentVariable>): Promise<import("..").ServiceEnvironmentVariable[]>;
            get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
            set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
            remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
        };
    };
    image: {
        get(id: number, options?: import("..").PineOptions<import("..").Image>): Promise<import("..").Image>;
        getLogs: (id: number) => Promise<string | null>;
    };
    creditBundle: {
        getAllByOrg: (organization: string | number, options?: import("..").PineOptions<import("..").CreditBundle>) => Promise<import("..").CreditBundle[]>;
        create: (organization: string | number, featureId: number, creditsToPurchase: number) => Promise<import("..").PinePostResult<import("..").CreditBundle>>;
    };
    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;
