declare namespace API { type Ads = { id: number; title: string; type: string; content: string; description: string; target_url: string; start_time: number; end_time: number; status: number; created_at: number; updated_at: number; }; type AlipayNotifyResponse = { return_code: string; }; type Announcement = { id: number; title: string; content: string; show: boolean; pinned: boolean; popup: boolean; created_at: number; updated_at: number; }; type AppleLoginCallbackRequest = { code: string; id_token: string; state: string; }; type Application = { id: number; icon: string; name: string; description: string; subscribe_type: string; }; type ApplicationConfig = { app_id: number; encryption_key: string; encryption_method: string; domains: string[]; startup_picture: string; startup_picture_skip_time: number; }; type ApplicationPlatform = { ios?: ApplicationVersion[]; macos?: ApplicationVersion[]; linux?: ApplicationVersion[]; android?: ApplicationVersion[]; windows?: ApplicationVersion[]; harmony?: ApplicationVersion[]; }; type ApplicationResponse = { applications: ApplicationResponseInfo[]; }; type ApplicationResponseInfo = { id: number; name: string; icon: string; description: string; subscribe_type: string; platform: ApplicationPlatform; }; type ApplicationVersion = { id: number; url: string; version: string; description: string; is_default: boolean; }; type AuthConfig = { mobile: MobileAuthenticateConfig; email: EmailAuthticateConfig; register: PubilcRegisterConfig; }; type AuthMethodConfig = { id: number; method: string; config: Record; enabled: boolean; }; type CheckoutOrderRequest = { orderNo: string; returnUrl?: string; }; type CheckoutOrderResponse = { type: string; checkout_url?: string; stripe?: StripePayment; }; type CheckUserParams = { email: string; }; type CheckUserRequest = { email: string; }; type CheckUserResponse = { exist: boolean; }; type CheckUserTelephoneParams = { telephone: string; }; type CloseOrderRequest = { orderNo: string; }; type Coupon = { id: number; name: string; code: string; count: number; type: number; discount: number; start_time: number; expire_time: number; user_limit: number; subscribe: number[]; used_count: number; enable: boolean; created_at: number; updated_at: number; }; type Currency = { currency_unit: string; currency_symbol: string; }; type CurrencyConfig = { access_key: string; currency_unit: string; currency_symbol: string; }; type Document = { id: number; title: string; content: string; tags: string[]; show: boolean; created_at: number; updated_at: number; }; type EmailAuthticateConfig = { enable: boolean; enable_verify: boolean; enable_domain_suffix: boolean; domain_suffix_list: string; }; type EPayNotifyRequest = { pid: number; trade_no: string; out_trade_no: string; type: string; name: string; money: string; trade_status: string; param: string; sign: string; sign_type: string; }; type Follow = { id: number; ticket_id: number; from: string; type: number; content: string; created_at: number; }; type GetAdsParams = { device: string; position: string; }; type GetAdsRequest = { device: string; position: string; }; type GetAdsResponse = { list: Ads[]; }; type GetAppcationResponse = { config: ApplicationConfig; applications: ApplicationResponseInfo[]; }; type GetAvailablePaymentMethodsResponse = { list: PaymentMethod[]; }; type GetGlobalConfigResponse = { site: SiteConfig; verify: VeifyConfig; auth: AuthConfig; invite: InviteConfig; currency: Currency; subscribe: SubscribeConfig; verify_code: PubilcVerifyCodeConfig; oauth_methods: string[]; web_ad: boolean; }; type GetStatResponse = { user: number; node: number; country: number; protocol: string[]; }; type GetTosResponse = { tos_content: string; }; type GetUserSubscribeTrafficLogsRequest = { page: number; size: number; user_id: number; subscribe_id: number; start_time: number; end_time: number; }; type GetUserSubscribeTrafficLogsResponse = { list: TrafficLog[]; total: number; }; type GoogleLoginCallbackRequest = { code: string; state: string; }; type Hysteria2 = { port: number; hop_ports: string; hop_interval: number; obfs_password: string; security_config: SecurityConfig; }; type InviteConfig = { forced_invite: boolean; referral_percentage: number; only_first_purchase: boolean; }; type LoginResponse = { token: string; }; type MessageLog = { id: number; type: string; platform: string; to: string; subject: string; content: string; status: number; created_at: number; updated_at: number; }; type MobileAuthenticateConfig = { enable: boolean; enable_whitelist: boolean; whitelist: string[]; }; type NodeConfig = { node_secret: string; node_pull_interval: number; node_push_interval: number; }; type NodeRelay = { host: string; port: number; prefix: string; }; type NodeStatus = { online: Record; cpu: number; mem: number; disk: number; updated_at: number; }; type OAthLoginRequest = { /** google, facebook, apple, telegram, github etc. */ method: string; redirect: string; }; type OAuthLoginGetTokenRequest = { /** google, facebook, apple, telegram, github etc. */ method: string; callback: Record; }; type OAuthLoginResponse = { redirect: string; }; type OnlineUser = { uid: number; ip: string; }; type Order = { id: number; user_id: number; order_no: string; type: number; quantity: number; price: number; amount: number; gift_amount: number; discount: number; coupon: string; coupon_discount: number; commission?: number; payment: PaymentMethod; fee_amount: number; trade_no: string; status: number; subscribe_id: number; created_at: number; updated_at: number; }; type OrderDetail = { id: number; user_id: number; order_no: string; type: number; quantity: number; price: number; amount: number; gift_amount: number; discount: number; coupon: string; coupon_discount: number; commission?: number; payment: PaymentMethod; method: string; fee_amount: number; trade_no: string; status: number; subscribe_id: number; subscribe: Subscribe; created_at: number; updated_at: number; }; type PaymentConfig = { id: number; name: string; platform: string; description: string; icon?: string; domain?: string; config: Record; fee_mode: number; fee_percent?: number; fee_amount?: number; enable: boolean; }; type PaymentMethod = { id: number; name: string; platform: string; description: string; icon: string; fee_mode: number; fee_percent: number; fee_amount: number; }; type PaymentMethodDetail = { id: number; name: string; platform: string; description: string; icon: string; domain: string; config: Record; fee_mode: number; fee_percent: number; fee_amount: number; enable: boolean; notify_url: string; }; type PlatformInfo = { platform: string; platform_url: string; platform_field_description: Record; }; type PlatformResponse = { list: PlatformInfo[]; }; type PreOrderResponse = { price: number; amount: number; discount: number; gift_amount: number; coupon: string; coupon_discount: number; fee_amount: number; }; type PreRenewalOrderResponse = { orderNo: string; }; type PrivacyPolicyConfig = { privacy_policy: string; }; type PubilcRegisterConfig = { stop_register: boolean; enable_ip_register_limit: boolean; ip_register_limit: number; ip_register_limit_duration: number; }; type PubilcVerifyCodeConfig = { verify_code_interval: number; }; type PurchaseOrderRequest = { subscribe_id: number; quantity: number; payment: number; coupon?: string; }; type PurchaseOrderResponse = { order_no: string; }; type QueryAnnouncementRequest = { page: number; size: number; pinned: boolean; popup: boolean; }; type QueryAnnouncementResponse = { total: number; announcements: Announcement[]; }; type QueryDocumentDetailRequest = { id: number; }; type QueryDocumentListResponse = { total: number; list: Document[]; }; type QueryOrderDetailRequest = { order_no: string; }; type QueryOrderListRequest = { page: number; size: number; }; type QueryOrderListResponse = { total: number; list: OrderDetail[]; }; type QuerySubscribeGroupListResponse = { list: SubscribeGroup[]; total: number; }; type QuerySubscribeListResponse = { list: Subscribe[]; total: number; }; type QueryUserAffiliateListRequest = { page: number; size: number; }; type QueryUserAffiliateListResponse = { list: UserAffiliate[]; total: number; }; type RechargeOrderRequest = { amount: number; payment: number; }; type RechargeOrderResponse = { order_no: string; }; type RegisterConfig = { stop_register: boolean; enable_trial: boolean; trial_subscribe: number; trial_time: number; trial_time_unit: string; enable_ip_register_limit: boolean; ip_register_limit: number; ip_register_limit_duration: number; }; type RenewalOrderRequest = { user_subscribe_id: number; quantity: number; payment: number; coupon?: string; }; type RenewalOrderResponse = { order_no: string; }; type ResetPasswordRequest = { email: string; password: string; code?: string; cf_token?: string; }; type ResetTrafficOrderRequest = { user_subscribe_id: number; payment: number; }; type ResetTrafficOrderResponse = { order_no: string; }; type Response = { /** 状态码 */ code?: number; /** 消息 */ msg?: string; /** 数据 */ data?: Record; }; type SecurityConfig = { sni: string; allow_insecure: boolean; fingerprint: string; reality_server_addr: string; reality_server_port: number; reality_private_key: string; reality_public_key: string; reality_short_id: string; }; type SendCodeRequest = { email: string; type: number; }; type SendCodeResponse = { code?: string; status: boolean; }; type SendSmsCodeRequest = { type: number; telephone: string; telephone_area_code: string; }; type Server = { id: number; tags: string[]; country: string; city: string; name: string; server_addr: string; relay_mode: string; relay_node: NodeRelay[]; speed_limit: number; traffic_ratio: number; group_id: number; protocol: string; config: Record; enable: boolean; created_at: number; updated_at: number; status: NodeStatus; sort: number; }; type ServerGroup = { id: number; name: string; description: string; created_at: number; updated_at: number; }; type ServerRuleGroup = { id: number; icon: string; name: string; tags: string[]; rules: string; enable: boolean; created_at: number; updated_at: number; }; type Shadowsocks = { method: string; port: number; server_key: string; }; type SiteConfig = { host: string; site_name: string; site_desc: string; site_logo: string; keywords: string; custom_html: string; custom_data: string; }; type SiteCustomDataContacts = { email: string; telephone: string; address: string; }; type SortItem = { id: number; sort: number; }; type StripePayment = { method: string; client_secret: string; publishable_key: string; }; type Subscribe = { id: number; name: string; description: string; unit_price: number; unit_time: string; discount: SubscribeDiscount[]; replacement: number; inventory: number; traffic: number; speed_limit: number; device_limit: number; quota: number; group_id: number; server_group: number[]; server: number[]; show: boolean; sell: boolean; sort: number; deduction_ratio: number; allow_deduction: boolean; reset_cycle: number; renewal_reset: boolean; created_at: number; updated_at: number; }; type SubscribeConfig = { single_model: boolean; subscribe_path: string; subscribe_domain: string; pan_domain: boolean; }; type SubscribeDiscount = { quantity: number; discount: number; }; type SubscribeGroup = { id: number; name: string; description: string; created_at: number; updated_at: number; }; type SubscribeType = { subscribe_types: string[]; }; type TelegramConfig = { telegram_bot_token: string; telegram_group_url: string; telegram_notify: boolean; telegram_web_hook_domain: string; }; type TelephoneCheckUserRequest = { telephone_area_code: string; }; type TelephoneCheckUserResponse = { exist: boolean; }; type TelephoneLoginRequest = { telephone: string; telephone_code: string; telephone_area_code: string; password: string; cf_token?: string; }; type TelephoneRegisterRequest = { telephone: string; telephone_area_code: string; password: string; invite?: string; code?: string; cf_token?: string; }; type TelephoneResetPasswordRequest = { telephone: string; telephone_area_code: string; password: string; code?: string; cf_token?: string; }; type Ticket = { id: number; title: string; description: string; user_id: number; follow?: Follow[]; status: number; created_at: number; updated_at: number; }; type TimePeriod = { start_time: string; end_time: string; multiplier: number; }; type TosConfig = { tos_content: string; }; type TrafficLog = { id: number; server_id: number; user_id: number; subscribe_id: number; download: number; upload: number; timestamp: number; }; type TransportConfig = { path: string; host: string; service_name: string; }; type Trojan = { port: number; transport: string; transport_config: TransportConfig; security: string; security_config: SecurityConfig; }; type Tuic = { port: number; security_config: SecurityConfig; }; type User = { id: number; avatar: string; balance: number; commission: number; gift_amount: number; telegram: number; refer_code: string; referer_id: number; enable: boolean; is_admin?: boolean; enable_balance_notify: boolean; enable_login_notify: boolean; enable_subscribe_notify: boolean; enable_trade_notify: boolean; auth_methods: UserAuthMethod[]; user_devices: UserDevice[]; created_at: number; updated_at: number; deleted_at?: number; is_del?: boolean; }; type UserAffiliate = { avatar: string; identifier: string; registered_at: number; enable: boolean; }; type UserAuthMethod = { auth_type: string; auth_identifier: string; verified: boolean; }; type UserBalanceLog = { id: number; user_id: number; amount: number; type: number; order_id: number; balance: number; created_at: number; }; type UserDevice = { id: number; ip: string; identifier: string; user_agent: string; online: boolean; enabled: boolean; created_at: number; updated_at: number; }; type UserLoginLog = { id: number; user_id: number; login_ip: string; user_agent: string; success: boolean; created_at: number; }; type UserLoginRequest = { email: string; password: string; cf_token?: string; }; type UserRegisterRequest = { email: string; password: string; invite?: string; code?: string; cf_token?: string; }; type UserSubscribe = { id: number; user_id: number; order_id: number; subscribe_id: number; subscribe: Subscribe; start_time: number; expire_time: number; reset_time: number; traffic: number; download: number; upload: number; token: string; status: number; created_at: number; updated_at: number; }; type UserSubscribeLog = { id: number; user_id: number; user_subscribe_id: number; token: string; ip: string; user_agent: string; created_at: number; }; type VeifyConfig = { turnstile_site_key: string; enable_login_verify: boolean; enable_register_verify: boolean; enable_reset_password_verify: boolean; }; type VerifyCodeConfig = { verify_code_expire_time: number; verify_code_limit: number; verify_code_interval: number; }; type VerifyConfig = { turnstile_site_key: string; turnstile_secret: string; enable_login_verify: boolean; enable_register_verify: boolean; enable_reset_password_verify: boolean; }; type Vless = { port: number; flow: string; transport: string; transport_config: TransportConfig; security: string; security_config: SecurityConfig; }; type Vmess = { port: number; transport: string; transport_config: TransportConfig; security: string; security_config: SecurityConfig; }; }