import { type DatetimeString, type DidString } from '@atproto/lex'; import type { com } from '../../lexicons/index.js'; import type { AccountDb, InviteCode } from '../db/index.js'; export type CodeDetail = com.atproto.server.defs.InviteCode; export type CodeUse = com.atproto.server.defs.InviteCodeUse; export declare const createInviteCodes: (db: AccountDb, toCreate: { account: string; codes: string[]; }[], useCount: number) => Promise; export declare const createAccountInviteCodes: (db: AccountDb, forAccount: string, codes: string[], expectedTotal: number, disabled: 0 | 1) => Promise; export declare const recordInviteUse: (db: AccountDb, opts: { did: DidString; inviteCode: string | undefined; now: DatetimeString; }) => Promise; export declare const ensureInviteIsAvailable: (db: AccountDb, inviteCode: string) => Promise; export declare const selectInviteCodesQb: (db: AccountDb) => import("kysely").SelectQueryBuilder<{ account: import("../db/index.js").Account; account_device: import("../db/index.js").AccountDevice; actor: import("../db/index.js").Actor; app_password: import("../db/index.js").AppPassword; authorization_request: import("../db/index.js").AuthorizationRequest; authorized_client: import("../db/schema/authorized-client.js").AuthorizedClient; codes: { available: number; code: string; createdAt: DatetimeString; createdBy: string; disabled: 0 | 1; forAccount: string; uses: number | null; }; device: import("../db/index.js").Device; email_token: import("../db/index.js").EmailToken; invite_code: InviteCode; invite_code_use: import("../db/index.js").InviteCodeUse; lexicon: import("../db/index.js").Lexicon; refresh_token: import("../db/index.js").RefreshToken; repo_root: import("../db/index.js").RepoRoot; token: import("../db/index.js").Token; used_refresh_token: import("../db/index.js").UsedRefreshToken; }, "codes", { available: number; code: string; createdAt: DatetimeString; createdBy: string; disabled: 0 | 1; forAccount: string; uses: number | null; }>; export declare const getAccountsInviteCodes: (db: AccountDb, dids: string[]) => Promise>; export declare const getInviteCodesUses: (db: AccountDb, codes: string[]) => Promise>; export declare const getInvitedByForAccounts: (db: AccountDb, dids: DidString[]) => Promise>; export declare const disableInviteCodes: (db: AccountDb, opts: { codes: string[]; accounts: string[]; }) => Promise; export declare const setAccountInvitesDisabled: (db: AccountDb, did: DidString, disabled: boolean) => Promise; //# sourceMappingURL=invite.d.ts.map