import type { CSSProperties } from 'react';
/**
 * 通用响应结构
 */
export interface ApiResponse<T> {
    status: boolean;
    code: number;
    message: string;
    data: T;
}
export declare type ExtensionFormInfo = {
    id: number;
    title: string;
    code: string;
    status: string;
};
/**
 * 分页数据结构
 */
export interface PaginationData<T> {
    list: T[];
    count: number;
    page: number;
    size: number;
}
/**
 * 多语言字段
 */
export interface MultiLanguage {
    en?: string;
    'zh-CN'?: string;
    'zh-HK'?: string;
    'ja'?: string;
    'pt'?: string;
    original?: string;
    [key: string]: string | undefined;
}
/**
 * 角色元数据
 */
export interface RoleMetadata {
    extension_form_id?: number;
    [key: string]: any;
}
/**
 * 角色信息接口
 */
export interface RoleInfo {
    /** 角色ID */
    id: number;
    /** 租户ID */
    tenant_id: number;
    /** 角色代码 */
    code: string;
    /** 角色名称 (多语言) */
    name: MultiLanguage;
    /** 角色描述 (多语言) */
    description?: MultiLanguage;
    /** 角色权限列表 */
    permission: string[];
    /** 元数据 */
    metadata?: RoleMetadata;
    /** 排序 */
    sort: number;
    /** 创建时间 */
    created_at: string;
    /** 更新时间 */
    updated_at: string;
    /** 关联成员数量 (with_count[]=tenant_account) */
    tenant_account_count?: number;
    /** 中间表信息 (当作为成员关联角色返回时) */
    pivot?: {
        tenant_account_id: number;
        tenant_role_id: number;
        created_at: string;
        updated_at: string;
    };
}
/**
 * 账户基础信息
 */
export interface AccountUser {
    id: number;
    tenant_id: number;
    email: string | null;
    phone: string | null;
    avatar: string | null;
    name: string | null;
    first_name: string | null;
    last_name: string | null;
    nickname: string | null;
    locale: string;
    timezone: string;
    status: string;
    login_times: number;
    login_ip: string | null;
    login_at: string | null;
    created_at: string;
    updated_at: string;
}
/**
 * 成员(租户账户)信息接口
 */
export interface MemberInfo {
    /** 租户账户ID */
    id: number;
    /** 租户ID */
    tenant_id: number;
    /** 全局账户ID */
    account_id: number;
    /** 成员类型 */
    type: string;
    /** 昵称 */
    nickname: string;
    /** 员工编号 */
    member_id: string | null;
    /** 状态 */
    status: string;
    /** 创建时间 */
    created_at: string;
    /** 更新时间 */
    updated_at: string;
    /** 关联的账户详情 */
    account: AccountUser;
    /** 关联的角色列表 */
    roles: RoleInfo[];
}
/**
 * 权限信息接口 (保留，用于权限选择列表)
 */
export interface PermissionInfo {
    id: string;
    name: string;
    code: string;
    enabled: boolean;
}
/**
 * 字段信息接口 (保留，用于扩展字段)
 */
export interface FieldInfo {
    id: string;
    name: string;
    code: string;
    type: string;
    visible: boolean;
    editable: boolean;
}
/**
 * SaasRole 组件 Props 接口
 */
export interface SaasRoleProps {
    /** 类名 */
    className?: string;
    /** 样式 */
    style?: CSSProperties;
}
/**
 * 创建/编辑角色表单值
 */
export interface RoleFormValues {
    code: string;
    name: MultiLanguage;
    description?: MultiLanguage;
    metadata?: RoleMetadata;
    permission: string[];
    sort?: number;
}
/**
 * 权限结构
 */
export interface PermissionItem {
    name: MultiLanguage;
    code: string;
}
export interface AvailablePermissions {
    [key: string]: PermissionItem[];
}
