import type { Draft, Event, SDKType, SDKIntegrationMode, ServerLanguage, ClientLanguage, UserIdentity } from './types.js';
import type { Locale } from '../i18n/locale.js';
export interface DraftMeta {
    app_type: string;
    sdk_integration_mode: SDKIntegrationMode;
    client_platforms?: SDKType[];
    client_sdk_type?: SDKType;
    client_languages?: ClientLanguage[];
    client_platform_languages?: Record<SDKType, ClientLanguage[]>;
    server_language?: ServerLanguage;
    project_id?: number;
    plan_name: string;
    scenario?: string;
    user_identity?: UserIdentity;
}
export declare function emptyDraft(meta: DraftMeta): Draft;
export declare function emptyDraftLegacy(appType: string, planName: string, sdkType?: SDKType): Draft;
export declare function loadDraft(p: string): Draft;
export declare function saveDraft(d: Draft, p: string): void;
/**
 * 向 draft 注入 SDK 自动采集事件
 * 自动采集事件放在 events 数组末尾，标记 source: "autotrack", platform: "client"
 */
export declare function injectAutotrackEvents(draft: Draft, locale?: Locale): Draft;
/**
 * 获取 draft 中的业务事件（排除自动采集事件）
 */
export declare function getBusinessEvents(draft: Draft): Event[];
/**
 * 获取 draft 中的自动采集事件
 */
export declare function getAutotrackEventsFromDraft(draft: Draft): Event[];
/**
 * 按 platform 分组获取事件
 */
export declare function getEventsByPlatform(draft: Draft): {
    client: Event[];
    server: Event[];
    both: Event[];
};
