import { ISubmittableResult } from '@polkadot/types/types';
import { Context, CustomPermissionGroup, PostTransactionValue, Procedure, SecurityToken } from "../../internal";
import { TransactionPermissions, TxGroup } from "../../types";
import { ProcedureAuthorization } from "../../types/internal";
export interface CreateGroupParams {
    permissions: {
        transactions: TransactionPermissions;
    } | {
        transactionGroups: TxGroup[];
    };
}
/**
 * @hidden
 */
export declare type Params = CreateGroupParams & {
    ticker: string;
};
/**
 * @hidden
 */
export interface Storage {
    token: SecurityToken;
}
/**
 * @hidden
 */
export declare const createCreateGroupResolver: (context: Context) => (receipt: ISubmittableResult) => CustomPermissionGroup;
/**
 * @hidden
 */
export declare function prepareCreateGroup(this: Procedure<Params, CustomPermissionGroup, Storage>, args: Params): Promise<PostTransactionValue<CustomPermissionGroup>>;
/**
 * @hidden
 */
export declare function getAuthorization(this: Procedure<Params, CustomPermissionGroup, Storage>): ProcedureAuthorization;
/**
 * @hidden
 */
export declare function prepareStorage(this: Procedure<Params, CustomPermissionGroup, Storage>, { ticker }: Params): Storage;
/**
 * @hidden
 */
export declare const createGroup: () => Procedure<Params, CustomPermissionGroup, Storage>;
//# sourceMappingURL=createGroup.d.ts.map