export type ContextItemKind = "turn" | "attachment" | "artifact" | "tool_result" | "pinned_file" | "summary";
export type ContextItemSource = "user" | "assistant" | "tool" | "system" | "session";
export type ContextItemMeta = Record<string, boolean | number | string | string[] | null>;
export type ContextItem = {
    id: string;
    kind: ContextItemKind;
    source: ContextItemSource | string;
    label: string;
    path?: string;
    text?: string;
    createdAt: string;
    runId?: string;
    tokenEstimate: number;
    priority: number;
    pinned: boolean;
    dropped: boolean;
    expiresAfterTurns?: number;
    meta?: ContextItemMeta;
};
export type ContextItemInput = {
    id?: string;
    kind: ContextItemKind;
    source: ContextItemSource | string;
    label: string;
    path?: string;
    text?: string;
    createdAt?: string;
    runId?: string;
    tokenEstimate?: number;
    priority?: number;
    pinned?: boolean;
    dropped?: boolean;
    expiresAfterTurns?: number;
    meta?: ContextItemMeta;
};
export declare function createContextItem(input: ContextItemInput): ContextItem;
export declare function normalizeContextItem(input: ContextItemInput & {
    id: string;
}): ContextItem;
export declare function isContextItemKind(value: unknown): value is ContextItemKind;
export declare function isContextItem(value: unknown): value is ContextItem;
