import type { ProjectResourceLink, ProjectResourceLinkInput, ProjectResourceLinkRow, ProjectResourceLinkSnapshot, ProjectResourceLinkCollectionV1, Workspace, WorkspaceIntegrations } from "../types/workspace.js"; export type { ProjectResourceLinkInput } from "../types/workspace.js"; export { PROJECT_RESOURCE_LINK_DEFAULT_MAX_ITEMS } from "../types/workspace.js"; export declare const COMPLETE_EXTERNAL_UUID_PATTERN = "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"; export declare function projectResourceLinkConversationsChannelLocatorKind(value: string): "external_uuid" | "conversations_channel_id" | null; export declare function canonicalProjectResourceLinkUri(value: string, label: string): string; export declare function normalizeProjectResourceLink(input: ProjectResourceLinkInput): ProjectResourceLinkInput; export declare function projectResourceLinkIdentity(input: ProjectResourceLinkInput): Record; export declare function projectResourceLinkId(projectId: string, input: ProjectResourceLinkInput): string; export declare function normalizeProjectResourceLinks(inputs: readonly ProjectResourceLinkInput[]): ProjectResourceLinkInput[]; export declare function rowToProjectResourceLink(row: ProjectResourceLinkRow): ProjectResourceLink; export declare function projectResourceLinksDigest(links: readonly ProjectResourceLink[]): string; export declare function projectResourceLinkIntegrationProjection(integrations: WorkspaceIntegrations, beforeLinks: readonly ProjectResourceLink[], afterLinks: readonly ProjectResourceLink[]): WorkspaceIntegrations; export declare function normalizeProjectResourceLinkIntegrations(value: unknown): WorkspaceIntegrations | undefined; export declare const PROJECT_RESOURCE_LINK_INTEGRATION_KEYS: ("todos_project_id" | "todos_task_list_id" | "mementos_project_id" | "orgs_org_id" | "orgs_project_id" | "conversations_channel")[]; export declare function assertProjectResourceLinkIntegrationMutation(beforeIntegrations: WorkspaceIntegrations, proposedIntegrations: WorkspaceIntegrations, links: readonly ProjectResourceLink[]): void; export declare function projectResourceLinkSnapshot(project: Workspace, links: ProjectResourceLink[]): ProjectResourceLinkSnapshot; export declare function projectResourceLinkCollection(projectId: string, currentRevision: string, links: ProjectResourceLink[], maxItems: number): ProjectResourceLinkCollectionV1; export declare function assertProjectResourceLinkReadContractEquality(read: { project_id: string; current_revision: string; links: ProjectResourceLink[]; link_count: number; max_items: number; collection_digest: string; complete: boolean; truncated: boolean; contract: ProjectResourceLinkCollectionV1; }): void; //# sourceMappingURL=project-resource-links.d.ts.map