import { DeviceId } from '@atproto/oauth-provider';
import { AccountDb } from '../db';
export declare function upsertQB(db: AccountDb, deviceId: DeviceId, did: string): import("kysely").InsertQueryBuilder<import("../db").DatabaseSchema, "account_device", import("kysely").InsertResult>;
export declare function selectQB(db: AccountDb, filter: {
    sub?: string;
    deviceId?: DeviceId;
}): import("kysely").SelectQueryBuilder<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor" | "device" | "account_device", import("kysely/dist/cjs/util/type-utils").MergePartial<import("kysely/dist/cjs/util/type-utils").MergePartial<Partial<Omit<{}, never>> & Partial<Omit<Partial<Omit<{}, never>>, never>> & import("kysely").Selection<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor", "actor.did" | "account.email" | "account.invitesDisabled" | "account.emailConfirmedAt" | "actor.handle" | "actor.createdAt" | "actor.deactivatedAt" | "actor.deleteAfter" | "actor.takedownRef"> & import("kysely").Selection<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor" | "account_device", "account_device.deviceId" | "account_device.createdAt as adCreatedAt" | "account_device.updatedAt as adUpdatedAt"> & import("kysely").Selection<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor" | "device" | "account_device", "device.sessionId" | "device.userAgent" | "device.ipAddress" | "device.lastSeenAt">, Partial<Omit<{}, never>> & Partial<Omit<Partial<Omit<{}, never>>, never>> & import("kysely").Selection<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor", "actor.did" | "account.email" | "account.invitesDisabled" | "account.emailConfirmedAt" | "actor.handle" | "actor.createdAt" | "actor.deactivatedAt" | "actor.deleteAfter" | "actor.takedownRef"> & import("kysely").Selection<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor" | "account_device", "account_device.deviceId" | "account_device.createdAt as adCreatedAt" | "account_device.updatedAt as adUpdatedAt"> & import("kysely").Selection<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor" | "device" | "account_device", "device.sessionId" | "device.userAgent" | "device.ipAddress" | "device.lastSeenAt">>, import("kysely/dist/cjs/util/type-utils").MergePartial<Partial<Omit<{}, never>> & Partial<Omit<Partial<Omit<{}, never>>, never>> & import("kysely").Selection<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor", "actor.did" | "account.email" | "account.invitesDisabled" | "account.emailConfirmedAt" | "actor.handle" | "actor.createdAt" | "actor.deactivatedAt" | "actor.deleteAfter" | "actor.takedownRef"> & import("kysely").Selection<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor" | "account_device", "account_device.deviceId" | "account_device.createdAt as adCreatedAt" | "account_device.updatedAt as adUpdatedAt"> & import("kysely").Selection<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor" | "device" | "account_device", "device.sessionId" | "device.userAgent" | "device.ipAddress" | "device.lastSeenAt">, Partial<Omit<{}, never>> & Partial<Omit<Partial<Omit<{}, never>>, never>> & import("kysely").Selection<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor", "actor.did" | "account.email" | "account.invitesDisabled" | "account.emailConfirmedAt" | "actor.handle" | "actor.createdAt" | "actor.deactivatedAt" | "actor.deleteAfter" | "actor.takedownRef"> & import("kysely").Selection<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor" | "account_device", "account_device.deviceId" | "account_device.createdAt as adCreatedAt" | "account_device.updatedAt as adUpdatedAt"> & import("kysely").Selection<{
    lexicon: import("../db").Lexicon;
    account: import("kysely/dist/cjs/util/type-utils").Nullable<import("../db").Account>;
    token: import("../db").Token;
    actor: import("../db").Actor;
    app_password: import("../db").AppPassword;
    invite_code: import("../db").InviteCode;
    invite_code_use: import("../db").InviteCodeUse;
    refresh_token: import("../db").RefreshToken;
    repo_root: import("../db").RepoRoot;
    email_token: import("../db").EmailToken;
    authorization_request: import("../db").AuthorizationRequest;
    device: import("../db").Device;
    used_refresh_token: import("../db").UsedRefreshToken;
    account_device: import("../db").AccountDevice;
    authorized_client: import("../db/schema/authorized-client").AuthorizedClient;
}, "account" | "actor" | "device" | "account_device", "device.sessionId" | "device.userAgent" | "device.ipAddress" | "device.lastSeenAt">>>>;
export declare function removeQB(db: AccountDb, deviceId: DeviceId, did: string): import("kysely").DeleteQueryBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("../db").DatabaseSchema, "account_device">, "account_device", import("kysely").DeleteResult>;
//# sourceMappingURL=account-device.d.ts.map