import type { ApplicationMembershipRole, InjectedDependenciesParam, TeamApplicationAccess } from '..';
import type { ODataOptionsWithoutCount, OptionsToResponse } from 'pinejs-client-core';
declare const getTeamApplicationAccessModel: (deps: InjectedDependenciesParam) => {
    getAllByTeam: <T extends ODataOptionsWithoutCount<TeamApplicationAccess["Read"]>>(teamId: number, options?: T) => Promise<OptionsToResponse<TeamApplicationAccess["Read"], T, undefined>>;
    get: <T extends ODataOptionsWithoutCount<TeamApplicationAccess["Read"]>>(teamApplicationAccessId: number, options?: T) => Promise<OptionsToResponse<TeamApplicationAccess["Read"], T, undefined>[number]>;
    add: (teamId: number, applicationIdOrSlug: number | string, roleName: 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: ApplicationMembershipRole["Read"]["id"];
        } | [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: ApplicationMembershipRole["Read"]["name"]) => Promise<void>;
    remove: (teamApplicationAccessId: number) => Promise<void>;
};
export default getTeamApplicationAccessModel;
