import { CascadeOption, Name } from "../generalTypes.js"; import { MigrationOptions } from "../../migrationOptions.js"; //#region src/operations/grants/shared.d.ts interface WithAdminOption { readonly withAdminOption?: boolean; } interface OnlyAdminOption { readonly onlyAdminOption?: boolean; } interface OnlyGrantOption { readonly onlyGrantOption?: boolean; } interface WithGrantOption { readonly withGrantOption?: boolean; } type TablePrivilege = 'SELECT' | 'INSERT' | 'UPDATE' | 'DELETE' | 'TRUNCATE' | 'REFERENCES' | 'TRIGGER'; type SchemaPrivilege = 'CREATE' | 'USAGE'; interface CommonOnTablesOptions { privileges: TablePrivilege | TablePrivilege[] | 'ALL'; roles: Name | Name[]; } type CommonGrantOnTablesOptions = CommonOnTablesOptions & WithGrantOption; interface SomeTablesOptions { tables: Name | Name[]; } interface AllTablesOptions { tables: 'ALL'; schema: string; } type RevokeOnObjectsOptions = OnlyGrantOption & CascadeOption; declare function isAllTablesOptions(options: AllTablesOptions | SomeTablesOptions): options is AllTablesOptions; declare function asRolesStr(roles: Name | Name[], mOptions: MigrationOptions): string; declare function asTablesStr(options: AllTablesOptions | SomeTablesOptions, mOptions: MigrationOptions): string; //#endregion export { AllTablesOptions, CommonGrantOnTablesOptions, CommonOnTablesOptions, OnlyAdminOption, OnlyGrantOption, RevokeOnObjectsOptions, SchemaPrivilege, SomeTablesOptions, TablePrivilege, WithAdminOption, WithGrantOption, asRolesStr, asTablesStr, isAllTablesOptions };