import { Asset, CustomPermissionGroup, KnownPermissionGroup, Procedure } from "../../internal"; import { Identity, TransactionPermissions, TxGroup } from "../../types"; import { MaybePostTransactionValue, ProcedureAuthorization } from "../../types/internal"; interface AssetBase { /** * Asset over which the Identity will be granted permissions */ asset: string | Asset; } interface TransactionsParams extends AssetBase { transactions: TransactionPermissions; } interface TxGroupParams extends AssetBase { transactionGroups: TxGroup[]; } /** * This procedure can be called with: * - An Asset's existing Custom Permission Group. The Identity will be assigned as an Agent of that Group for that Asset * - A Known Permission Group and an Asset. The Identity will be assigned as an Agent of that Group for that Asset * - A set of Transaction Permissions and an Asset. A Custom Permission Group will be created for that Asset with those permissions, and * the Identity will be assigned as an Agent of that Group for that Asset * - An array of {@link TxGroup | Transaction Groups} that represent a set of permissions. A Custom Permission Group will be created with those permissions, and * the Identity will be assigned as an Agent of that Group for that Asset */ export interface SetPermissionGroupParams { group: KnownPermissionGroup | CustomPermissionGroup | TransactionsParams | TxGroupParams; } /** * @hidden */ export declare type Params = SetPermissionGroupParams & { identity: Identity; }; /** * @hidden */ export interface Storage { asset: Asset; } /** * @hidden */ export declare function prepareSetPermissionGroup(this: Procedure, args: Params): Promise>; /** * @hidden */ export declare function getAuthorization(this: Procedure): ProcedureAuthorization; /** * @hidden */ export declare function prepareStorage(this: Procedure, { group: { asset } }: Params): Storage; /** * @hidden */ export declare const setPermissionGroup: () => Procedure; export {}; //# sourceMappingURL=setPermissionGroup.d.ts.map