/**
 * Workflow audit log (IT-12, spec D38): WHO did WHAT to WHICH workflow WHEN —
 * configuration/lifecycle changes only. Runs are deliberately NOT duplicated here:
 * WorkflowRunHistoryStore is already the complete run audit (trigger/timing/status/per-node);
 * a timeline UI merges both sources.
 *
 * Storage: append-only JSONL at `<project>/.qlogicagent/workflows/audit.jsonl` (project-level
 * single file — the natural unit for a cross-workflow timeline). Entries are never rewritten.
 */
export interface WorkflowAuditEntry {
    ts: string;
    /** Owning user id (resolveActiveOwnerUserId) at the time of the action. */
    actor: string;
    /** e.g. created / updated / patched / activated / deactivated / published / archived /
     *  reverted / deleted / imported / duplicated / permissionGranted / publishedToHub */
    action: string;
    workflowId: string;
    detail?: Record<string, unknown>;
}
export declare class WorkflowAuditStore {
    private readonly file;
    /** `rootDir` = the project's workflows dir (same root the WorkflowStore uses). */
    constructor(rootDir: string);
    /**
     * Append one entry. Failures are LOUD on stderr but never break the business write that
     * triggered them (an audit-log disk error must not corrupt a successful state change).
     */
    append(entry: WorkflowAuditEntry): void;
    /** Newest-first entries, optionally filtered to one workflow. Malformed lines are skipped loud. */
    list(workflowId?: string, limit?: number): WorkflowAuditEntry[];
}
