export interface CompatibilityError {
    code: string;
    message: string;
    details: string;
    hint: string;
    name?: string;
    status?: number;
}
export interface CompatibilityResponse<T = any> {
    data: T | null;
    error: CompatibilityError | null;
    count: number | null;
}
export declare class LocalPostgrestBuilder implements PromiseLike<CompatibilityResponse<any>> {
    private operation;
    private payload;
    private projection;
    private returning;
    private filters;
    private orders;
    private singularMode;
    private countRequested;
    private head;
    private limitValue;
    private offsetValue;
    private ignoreDuplicates;
    private buildError;
    constructor(table: string);
    select(columns?: string, options?: unknown): this;
    insert(payload: unknown, options?: unknown): this;
    upsert(payload: unknown, options?: unknown): this;
    update(payload: unknown, options?: unknown): this;
    delete(options?: unknown): this;
    eq(column: string, value: unknown): this;
    neq(column: string, value: unknown): this;
    in(column: string, values: unknown[]): this;
    like(column: string, pattern: string): this;
    contains(column: string, value: unknown): this;
    or(expression: string): this;
    order(column: string, options?: unknown): this;
    limit(count: number): this;
    range(from: number, to: number): this;
    maybeSingle(): this;
    single(): this;
    then<TResult1 = CompatibilityResponse<any>, TResult2 = never>(onfulfilled?: ((value: CompatibilityResponse<any>) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
    private rememberError;
    private execute;
    private projectionSql;
    private compileOrder;
    private paginationSql;
    private singularResult;
    private executeSelect;
    private executeInsert;
    private updateAssignments;
    private ensureMutationShape;
    private executeUpdate;
    private executeDelete;
    private mutationResult;
}
type JsonObject = Record<string, unknown>;
export interface LocalAuthResponse<T> {
    data: T;
    error: CompatibilityError | null;
}
export declare class LocalAuthAdminClient {
    listUsers(options?: unknown): Promise<LocalAuthResponse<JsonObject>>;
    createUser(attributes: unknown): Promise<LocalAuthResponse<JsonObject>>;
    updateUserById(userIdInput: unknown, attributes: unknown): Promise<LocalAuthResponse<JsonObject>>;
    deleteUser(userIdInput: unknown, _shouldSoftDelete?: boolean): Promise<LocalAuthResponse<JsonObject>>;
}
export declare class LocalAuthClient {
    readonly admin: LocalAuthAdminClient;
    private accessToken;
    private refreshToken;
    getUser(token?: unknown): Promise<LocalAuthResponse<JsonObject>>;
    signInWithPassword(credentials: unknown): Promise<LocalAuthResponse<JsonObject>>;
    signOut(options?: unknown): Promise<LocalAuthResponse<null>>;
}
export interface LocalSupabaseClient {
    from(table: string): LocalPostgrestBuilder;
    auth: LocalAuthClient;
    storage: any;
    rpc(functionName: string, parameters?: unknown): Promise<CompatibilityResponse<never>>;
}
export declare function createClient(_supabaseUrl?: string, _supabaseKey?: string, _options?: unknown): LocalSupabaseClient;
export {};
//# sourceMappingURL=supabase.d.ts.map