better-auth
Version:
The most comprehensive authentication framework for TypeScript.
30 lines (29 loc) • 1.17 kB
text/typescript
import { Statements, Subset } from "./types.mjs";
//#region src/plugins/access/access.d.ts
type AuthorizeResponse = {
success: false;
error: string;
} | {
success: true;
error?: never | undefined;
};
declare function role<TStatements extends Statements>(statements: TStatements): {
authorize<K extends keyof TStatements>(request: { [key in K]?: TStatements[key] | {
actions: TStatements[key];
connector: "OR" | "AND";
} }, connector?: "OR" | "AND"): AuthorizeResponse;
statements: TStatements;
};
declare function createAccessControl<const TStatements extends Statements>(s: TStatements): {
newRole<K extends keyof TStatements>(statements: Subset<K, TStatements>): {
authorize<K_1 extends K>(request: K_1 extends infer T extends keyof Subset<K, TStatements> ? { [key in T]?: Subset<K, TStatements>[key] | {
actions: Subset<K, TStatements>[key];
connector: "OR" | "AND";
} | undefined } : never, connector?: "OR" | "AND"): AuthorizeResponse;
statements: Subset<K, TStatements>;
};
statements: TStatements;
};
//#endregion
export { AuthorizeResponse, createAccessControl, role };
//# sourceMappingURL=access.d.mts.map