import type { Database } from "bun:sqlite";
import type { Task, TaskPriority } from "../types/index.js";
export type LocalTaskSeverity = "s0" | "s1" | "s2" | "s3" | "s4" | string;
export interface LocalTaskFields {
    labels: string[];
    priority: TaskPriority;
    severity: LocalTaskSeverity | null;
    owner: string | null;
    area: string | null;
    custom: Record<string, unknown>;
}
export interface SetTaskLocalFieldsInput {
    labels?: string[];
    priority?: TaskPriority;
    severity?: LocalTaskSeverity | null;
    owner?: string | null;
    area?: string | null;
    custom?: Record<string, unknown>;
    merge_custom?: boolean;
}
export interface LocalTaskFieldQuery {
    labels?: string[];
    priority?: TaskPriority | TaskPriority[];
    severity?: LocalTaskSeverity;
    owner?: string;
    area?: string;
    custom?: Record<string, unknown>;
    limit?: number;
}
export declare function getTaskLocalFields(taskId: string, db?: Database): LocalTaskFields;
export declare function setTaskLocalFields(taskId: string, input: SetTaskLocalFieldsInput, db?: Database): Task;
export declare function queryTasksByLocalFields(query: LocalTaskFieldQuery, db?: Database): Task[];
//# sourceMappingURL=local-fields.d.ts.map