import * as _tanstack_react_query from '@tanstack/react-query';

type NotePriority = 'low' | 'normal' | 'high' | 'urgent';
interface UserNote {
    id: string;
    userId: string;
    organizationId: string | null;
    title: string | null;
    content: string;
    priority: NotePriority;
    pinned: boolean;
    createdBy: string;
    source: string | null;
    metadata: Record<string, unknown>;
    createdAt: string;
    updatedAt: string;
    visibility: 'private' | 'org';
    creatorName: string | null;
}
interface UserNotesResponse {
    notes: UserNote[];
}
interface CreateUserNoteInput {
    content: string;
    title?: string;
    priority?: NotePriority;
    pinned?: boolean;
    source?: string;
    metadata?: Record<string, unknown>;
    visibility?: 'private' | 'org';
}
interface UpdateUserNoteInput {
    content?: string;
    title?: string;
    priority?: NotePriority;
    pinned?: boolean;
    source?: string;
    metadata?: Record<string, unknown>;
    visibility?: 'private' | 'org';
}
declare const userNotesKeys: {
    all: readonly ["user-notes"];
    list: (workOSOrgId: string | null | undefined) => readonly ["user-notes", "list", string | null | undefined];
};
/**
 * Fetches the current user's notes (and org-shared notes) for the current org.
 * Gated on `isReady` per ElevasisServiceContext convention.
 */
declare function useUserNotes(): _tanstack_react_query.UseQueryResult<UserNote[], Error>;
declare function useCreateUserNote(): _tanstack_react_query.UseMutationResult<UserNote, Error, CreateUserNoteInput, unknown>;
declare function useUpdateUserNote(): _tanstack_react_query.UseMutationResult<UserNote, Error, {
    id: string;
} & UpdateUserNoteInput, unknown>;
declare function useDeleteUserNote(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;

export { useCreateUserNote, useDeleteUserNote, useUpdateUserNote, useUserNotes, userNotesKeys };
export type { CreateUserNoteInput, NotePriority, UpdateUserNoteInput, UserNote, UserNotesResponse };
