import { type CustomerBusinessAccountCreateInput, type CustomerBusinessAccountDto, type CustomerBusinessAccountRequestDto, type CustomerBusinessInvitationAcceptInput, type CustomerBusinessInvitationAcceptResult } from "@voyant-travel/auth/customer-business-accounts"; import { z } from "zod"; export type CustomerAuthFetcher = (url: string, init?: RequestInit) => Promise; declare const customerAuthConfigSchema: z.ZodUnion; methods: z.ZodObject<{ emailCode: z.ZodLiteral; emailPassword: z.ZodLiteral; google: z.ZodLiteral; facebook: z.ZodLiteral; apple: z.ZodLiteral; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ disabled: z.ZodDefault>>; methods: z.ZodObject<{ emailCode: z.ZodBoolean; emailPassword: z.ZodBoolean; google: z.ZodBoolean; facebook: z.ZodBoolean; apple: z.ZodBoolean; }, z.core.$strip>; accountPolicy: z.ZodObject<{ allowedKinds: z.ZodArray>; personalSignup: z.ZodEnum<{ open: "open"; disabled: "disabled"; }>; businessOnboarding: z.ZodEnum<{ open: "open"; disabled: "disabled"; request: "request"; "invite-only": "invite-only"; }>; }, z.core.$strip>; }, z.core.$strip>]>; export declare const customerBuyerAccountSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ id: z.ZodString; name: z.ZodString; kind: z.ZodLiteral<"personal">; authOrganizationId: z.ZodNull; relationshipOrganizationId: z.ZodNull; relationshipPersonId: z.ZodNullable; membershipId: z.ZodNull; membershipRole: z.ZodNull; }, z.core.$strip>, z.ZodObject<{ id: z.ZodString; name: z.ZodString; kind: z.ZodLiteral<"business">; authOrganizationId: z.ZodString; relationshipOrganizationId: z.ZodString; relationshipPersonId: z.ZodNull; membershipId: z.ZodString; membershipRole: z.ZodString; }, z.core.$strip>], "kind">; declare const buyerAccountListSchema: z.ZodObject<{ accounts: z.ZodArray; authOrganizationId: z.ZodNull; relationshipOrganizationId: z.ZodNull; relationshipPersonId: z.ZodNullable; membershipId: z.ZodNull; membershipRole: z.ZodNull; }, z.core.$strip>, z.ZodObject<{ id: z.ZodString; name: z.ZodString; kind: z.ZodLiteral<"business">; authOrganizationId: z.ZodString; relationshipOrganizationId: z.ZodString; relationshipPersonId: z.ZodNull; membershipId: z.ZodString; membershipRole: z.ZodString; }, z.core.$strip>], "kind">>; activeAccount: z.ZodNullable; authOrganizationId: z.ZodNull; relationshipOrganizationId: z.ZodNull; relationshipPersonId: z.ZodNullable; membershipId: z.ZodNull; membershipRole: z.ZodNull; }, z.core.$strip>, z.ZodObject<{ id: z.ZodString; name: z.ZodString; kind: z.ZodLiteral<"business">; authOrganizationId: z.ZodString; relationshipOrganizationId: z.ZodString; relationshipPersonId: z.ZodNull; membershipId: z.ZodString; membershipRole: z.ZodString; }, z.core.$strip>], "kind">>; policy: z.ZodObject<{ allowedKinds: z.ZodArray>; personalSignup: z.ZodEnum<{ open: "open"; disabled: "disabled"; }>; businessOnboarding: z.ZodEnum<{ open: "open"; disabled: "disabled"; request: "request"; "invite-only": "invite-only"; }>; }, z.core.$strip>; requiresSelection: z.ZodBoolean; }, z.core.$strip>; declare const customerSessionSchema: z.ZodNullable; user: z.ZodObject<{ id: z.ZodString; }, z.core.$loose>; }, z.core.$loose>>; export type CustomerAuthConfiguration = z.infer; export type CustomerBuyerAccount = z.infer; export type CustomerBuyerAccountList = z.infer; export type CustomerAuthSession = z.infer; export interface CustomerAuthResponse { data: T; /** Preserve this response's headers when proxying from an SSR action/BFF. */ response: Response; } export interface CreateCustomerAuthClientOptions { /** Browser-visible same-origin BFF/API base, normally `/api`. */ baseUrl: string; fetcher?: CustomerAuthFetcher; } /** Framework-neutral customer auth/account client for Next.js, Astro SSR, and BFFs. */ export declare function createCustomerAuthClient(options: CreateCustomerAuthClientOptions): { /** * Low-level same-origin auth proxy for Better Auth endpoints not modeled by * this account client (for example sign-in/sign-up). SSR callers must * forward every `Set-Cookie` header from the returned response. */ request(path: string, init?: RequestInit): Promise; getConfiguration(): Promise; getSession(): Promise; listBuyerAccounts(): Promise; selectBuyerAccount(accountId: string): Promise; selectBuyerAccountWithResponse(accountId: string): Promise>; createBusinessAccount(input: CustomerBusinessAccountCreateInput): Promise; createBusinessAccountWithResponse: (input: CustomerBusinessAccountCreateInput) => Promise>; listBusinessAccountRequests(): Promise; requestBusinessAccount(input: CustomerBusinessAccountCreateInput): Promise; cancelBusinessAccountRequest(requestId: string): Promise; acceptBusinessInvitation(input: CustomerBusinessInvitationAcceptInput): Promise; acceptBusinessInvitationWithResponse: (input: CustomerBusinessInvitationAcceptInput) => Promise>; }; export type { CustomerBusinessAccountCreateInput, CustomerBusinessAccountDto, CustomerBusinessAccountRequestDto, CustomerBusinessInvitationAcceptInput, CustomerBusinessInvitationAcceptResult, };