import { ChatMemberProfile } from '@pushprotocol/restapi'; import { DropdownValueType } from '../reusables'; export declare const GROUP_ROLES: { readonly ADMIN: "ADMIN"; readonly MEMBER: "MEMBER"; }; export type GroupRolesKeys = typeof GROUP_ROLES[keyof typeof GROUP_ROLES]; export interface ChatMemberCounts { overallCount: number; adminsCount: number; membersCount: number; pendingCount: number; approvedCount: number; } export interface FetchGroupMembersResponseType { members: ChatMemberProfile[]; } export interface GroupMembersType { pending: ChatMemberProfile[]; accepted: ChatMemberProfile[]; } export interface GrouInfoType { groupName: string; groupDescription: string; groupImage: string; isPublic: boolean; members: string[]; admins: string[]; } export declare const TYPE: { readonly PUSH: "PUSH"; readonly GUILD: "GUILD"; }; export type TypeKeys = typeof TYPE[keyof typeof TYPE]; export declare const CATEGORY: { readonly ERC20: "ERC20"; readonly ERC721: "ERC721"; readonly ERC1155: "ERC1155"; readonly INVITE: "INVITE"; readonly CustomEndpoint: "CustomEndpoint"; readonly ROLES: "ROLES"; }; export declare const UNIT: { readonly ERC20: "TOKEN"; readonly ERC721: "NFT"; readonly ERC1155: "TOKEN"; }; export type UnitKeys = typeof UNIT[keyof typeof UNIT]; export declare const SUBCATEGORY: { readonly HOLDER: "holder"; readonly OWENER: "owner"; readonly GET: "GET"; readonly DEFAULT: "DEFAULT"; }; export type ReadonlyInputType = { value: string; title: string; }; export type InputType = DropdownValueType[] | ReadonlyInputType; export type SubCategoryKeys = typeof CATEGORY[keyof typeof CATEGORY]; export type DropdownCategoryValuesType = { [key in TypeKeys]: InputType; }; export type DropdownSubCategoryValuesType = { [key in SubCategoryKeys]: InputType; }; export declare const TOKEN_NFT_COMPARISION: { readonly '>': "more than"; readonly '>=': "equal or more than"; readonly '<': "less than"; readonly '<=': "equal or less than"; readonly '==': "equal to"; readonly '!=': "not equal to"; }; export type TokenNftComparision = keyof typeof TOKEN_NFT_COMPARISION; export declare const CRITERIA_TYPE: { readonly ERC20: "Token"; readonly ERC721: "NFT"; readonly ERC1155: "Token"; readonly INVITE: "Invite"; readonly CustomEndpoint: "URL"; readonly ROLES: "Guild ID"; }; export type CriteriaType = keyof typeof CRITERIA_TYPE; export interface IChatInfoResponse { chatId: string; list: string; meta?: { encrypted: boolean; visibility: boolean; group: boolean; groupInfo?: { public: boolean; }; recipents?: string[]; }; participants?: Array; recipient?: string; } export * from './tokenGatedGroupCreationType';