import type Redis from "ioredis";
import type { UpdateNotificationPreferencesRequest } from "@slackwsh/contracts";
import { type EntityIdInput } from "./channels";
export declare function getNotificationPreferences(workspaceId: EntityIdInput, actorUserId: EntityIdInput): Promise<{
    workspaceId: number;
    updatedAt: string | null;
    messages: "all" | "mentions" | "off";
    calls: boolean;
    tasks: boolean;
    calendar: boolean;
    sound: boolean;
    inAppFlash: boolean;
}>;
export declare function updateNotificationPreferences(redis: Redis, workspaceId: EntityIdInput, actorUserId: EntityIdInput, patch: UpdateNotificationPreferencesRequest): Promise<{
    workspaceId: number;
    updatedAt: string | null;
    messages: "all" | "mentions" | "off";
    calls: boolean;
    tasks: boolean;
    calendar: boolean;
    sound: boolean;
    inAppFlash: boolean;
}>;
export declare function listSavedItems(workspaceId: EntityIdInput, actorUserId: EntityIdInput): Promise<{
    id: number;
    workspaceId: number;
    channelId: number;
    channelName: string | null;
    authorName: string;
    text: string;
    createdAt: string;
    savedAt: string;
}[]>;
export declare function saveItem(redis: Redis, workspaceId: EntityIdInput, actorUserId: EntityIdInput, messageId: EntityIdInput): Promise<{
    workspaceId: number;
    userId: number;
    id: number;
    messageId: number;
    savedAt: Date;
}>;
export declare function unsaveItem(redis: Redis, workspaceId: EntityIdInput, actorUserId: EntityIdInput, messageId: EntityIdInput): Promise<void>;
export declare function listDrafts(workspaceId: EntityIdInput, actorUserId: EntityIdInput): Promise<{
    id: number;
    workspaceId: number;
    channelId: number;
    threadRootMessageId: number | null;
    text: string;
    blocks: {} | null;
    updatedAt: string;
}[]>;
export declare function upsertDraft(redis: Redis, workspaceId: EntityIdInput, actorUserId: EntityIdInput, input: {
    channelId: EntityIdInput;
    threadRootMessageId?: EntityIdInput | null;
    text: string;
    blocks?: unknown;
}): Promise<{
    id: number;
    workspaceId: number;
    channelId: number;
    threadRootMessageId: number | null;
    text: string;
    blocks: {} | null;
    updatedAt: string;
} | null>;
export declare function deleteDraft(redis: Redis, workspaceId: EntityIdInput, actorUserId: EntityIdInput, input: {
    channelId: EntityIdInput;
    threadRootMessageId?: EntityIdInput | null;
}): Promise<void>;
//# sourceMappingURL=personal-state.d.ts.map