import { type JsonLd } from '@atlaskit/json-ld-types';
import { type LinkPerson } from '@atlaskit/link-extractors';
import type { SmartLinkResponse } from '@atlaskit/linking-types';
import { type LinkLocation } from '../../state/flexible-ui-context/types';
export type LinkCommentType = JsonLd.Data.Document | JsonLd.Data.Page | JsonLd.Data.Project | JsonLd.Data.SourceCodeCommit | JsonLd.Data.TaskType;
export declare const extractCommentCount: (data: JsonLd.Data.BaseData) => number | undefined;
/**
 * Should be moved to link-extractors when jsonLd is deprecated
 */
export declare const extractSmartLinkCommentCount: (response?: SmartLinkResponse) => number | undefined;
export declare const extractAppliedToComponentsCount: (data: JsonLd.Data.BaseData) => number | undefined;
export declare const extractDueOn: (data: JsonLd.Data.BaseData) => string | undefined;
export declare const extractViewCount: (data: JsonLd.Data.BaseData) => number | undefined;
export declare const extractReactCount: (data: JsonLd.Data.BaseData) => number | undefined;
/**
 * Should be moved to link-extractors when jsonLd is deprecated
 */
export declare const extractSmartLinkReactCount: (response?: SmartLinkResponse) => number | undefined;
export declare const extractVoteCount: (data: JsonLd.Data.BaseData) => number | undefined;
export declare const extractOwnedBy: (data: JsonLd.Data.BaseData) => string | undefined;
export declare const extractAssignedTo: (data: JsonLd.Data.BaseData) => string | undefined;
export declare const extractPersonAssignedToAsArray: (data: JsonLd.Data.BaseData) => LinkPerson[] | undefined;
export declare const extractCreatedBy: (data: JsonLd.Data.BaseData) => string | undefined;
export declare const extractModifiedBy: (data: JsonLd.Data.BaseData) => string | undefined;
export type LinkProgrammingLanguageType = JsonLd.Data.SourceCodeDocument | JsonLd.Data.SourceCodeCommit | JsonLd.Data.SourceCodePullRequest | JsonLd.Data.SourceCodeReference | JsonLd.Data.SourceCodeRepository;
export declare const extractProgrammingLanguage: (data: JsonLd.Data.BaseData) => string | undefined;
export declare const extractSourceBranch: (data: JsonLd.Data.SourceCodePullRequest) => string | undefined;
export type LinkSubscriberType = JsonLd.Data.SourceCodeRepository | JsonLd.Data.Task | JsonLd.Data.TaskType;
export declare const extractSubscriberCount: (data: JsonLd.Data.BaseData) => number | undefined;
export declare const extractTeamMemberCount: (data: JsonLd.Data.BaseData) => number;
export type LinkAttachmentType = JsonLd.Data.Document | JsonLd.Data.Task | JsonLd.Data.TaskType | JsonLd.Data.Project;
export declare const extractAttachmentCount: (data: JsonLd.Data.BaseData) => number | undefined;
export declare const extractTargetBranch: (data: JsonLd.Data.SourceCodePullRequest) => string | undefined;
export declare const extractChecklistProgress: (data: JsonLd.Data.BaseData) => string | undefined;
export declare const extractLocation: (data: JsonLd.Data.BaseData) => LinkLocation | undefined;
export declare const extractSubTasksProgress: (data: JsonLd.Data.BaseData) => string | undefined;
export declare const extractUserAttributes: (data: JsonLd.Data.BaseData) => JsonLd.Primitives.UserAttributes | undefined;
export declare const extractReadTime: (data: JsonLd.Data.BaseData) => string | undefined;
export declare const extractSentOn: (data: JsonLd.Data.BaseData) => string | undefined;
/**
 * Should be moved to link-extractors when jsonLd is deprecated
 */
export declare const extractSmartLinkSentOn: (response?: SmartLinkResponse) => string | undefined;
export declare const extractStoryPoints: (data: JsonLd.Data.BaseData) => number | undefined;
export declare const extractMetaObjectId: (meta: JsonLd.Meta.BaseMeta) => string | undefined;
export declare const extractMetaResourceType: (meta: JsonLd.Meta.BaseMeta) => string | undefined;
export declare const extractMetaTenantId: (meta: JsonLd.Meta.BaseMeta) => string | undefined;
export declare const extractHostName: (response?: SmartLinkResponse) => string | undefined;
