import type { Transport } from "./transport"; import { AdminUser } from "@rebasepro/types"; export type { AdminUser }; export interface CreateAdminOptions { adminPath?: string; } export declare function createAdmin(transport: Transport, options?: CreateAdminOptions): { listUsers: () => Promise<{ users: AdminUser[]; }>; listUsersPaginated: (options?: { search?: string; limit?: number; offset?: number; orderBy?: string; orderDir?: "asc" | "desc"; }) => Promise<{ users: AdminUser[]; total: number; limit: number; offset: number; }>; getUser: (userId: string) => Promise<{ user: AdminUser; }>; createUser: (data: { email: string; displayName?: string; password?: string; roles?: string[]; }) => Promise<{ user: AdminUser; }>; updateUser: (userId: string, data: { email?: string; displayName?: string; password?: string; roles?: string[]; }) => Promise<{ user: AdminUser; }>; deleteUser: (userId: string) => Promise<{ success: boolean; }>; resetPassword: (userId: string, options?: { password?: string; }) => Promise<{ user: AdminUser; temporaryPassword?: string; invitationSent?: boolean; emailDeliveryFailed?: boolean; }>; listRoles: () => Promise<{ roles: Array<{ id: string; name: string; }>; }>; bootstrap: () => Promise<{ success: boolean; message: string; user: { uid: string; roles: string[]; }; }>; };