import type { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, INPUT_METHOD } from './enums';
import type { OperationalAEP, TrackAEP, UIAEP } from './utils';
export declare const PasteTypes: {
    [type: string]: PasteType;
};
export type PasteType = 'richText' | 'plain' | 'markdown' | 'binary';
export declare const PasteSources: {
    [type: string]: PasteSource;
};
export type PasteSource = 'fabric-editor' | 'apple-pages' | 'google-spreadsheets' | 'google-docs' | 'microsoft-excel' | 'microsoft-word' | 'dropbox-paper' | 'uncategorized';
export declare const PasteContents: {
    [P in PasteContent]: P;
};
export type PasteContent = 'text' | 'url' | 'code' | 'mediaSingle' | 'mediaCard' | 'mediaGroup' | 'blockquote' | 'blockCard' | 'bodiedExtension' | 'multiBodiedExtension' | 'bulletList' | 'codeBlock' | 'decisionList' | 'decisionItem' | 'extension' | 'heading' | 'layoutSection' | 'tableCells' | 'table' | 'expand' | 'nestedExpand' | 'orderedList' | 'panel' | 'rule' | 'tableHeader' | 'tableRow' | 'taskItem' | 'uncategorized' | 'mixed';
export type PASTE_ACTION_SUBJECT_ID = ACTION_SUBJECT_ID.PASTE_BLOCKQUOTE | ACTION_SUBJECT_ID.PASTE_BLOCK_CARD | ACTION_SUBJECT_ID.PASTE_BODIED_EXTENSION | ACTION_SUBJECT_ID.PASTE_BULLET_LIST | ACTION_SUBJECT_ID.PASTE_CODE_BLOCK | ACTION_SUBJECT_ID.PASTE_DECISION_LIST | ACTION_SUBJECT_ID.PASTE_EXTENSION | ACTION_SUBJECT_ID.PASTE_HEADING | ACTION_SUBJECT_ID.PASTE_MEDIA_GROUP | ACTION_SUBJECT_ID.PASTE_MEDIA_SINGLE | ACTION_SUBJECT_ID.PASTE_ORDERED_LIST | ACTION_SUBJECT_ID.PASTE_PANEL | ACTION_SUBJECT_ID.PASTE_PARAGRAPH | ACTION_SUBJECT_ID.PASTE_RULE | ACTION_SUBJECT_ID.PASTE_TABLE | ACTION_SUBJECT_ID.PASTE_TABLE_CELL | ACTION_SUBJECT_ID.PASTE_TABLE_HEADER | ACTION_SUBJECT_ID.PASTE_TABLE_ROW | ACTION_SUBJECT_ID.PASTE_TASK_LIST | ACTION_SUBJECT_ID.PASTE_EXPAND | ACTION_SUBJECT_ID.PASTE_NESTED_EXPAND;
type PasteBaseAEP<Action, Attributes, NonPrivacySafeAttributes> = TrackAEP<Action, ACTION_SUBJECT.DOCUMENT, PASTE_ACTION_SUBJECT_ID, Attributes, NonPrivacySafeAttributes>;
type PasteBaseOperationalAEP<Action, Attributes> = OperationalAEP<Action, ACTION_SUBJECT.EDITOR, PASTE_ACTION_SUBJECT_ID, Attributes>;
type PasteAEP = PasteBaseAEP<ACTION.PASTED, {
    content: PasteContent;
    inputMethod: INPUT_METHOD.KEYBOARD | INPUT_METHOD.TOOLBAR;
    invokedFrom?: string;
    pasteSize: number;
    source?: PasteSource;
    type: PasteType;
}, {
    linkDomain?: string[];
} | undefined>;
type PasteAsPlainAEP = PasteBaseAEP<ACTION.PASTED_AS_PLAIN, {
    inputMethod: string;
    linksInPasteCount: number;
    pasteSize: number;
}, undefined>;
type PastedTimedAEP = PasteBaseOperationalAEP<ACTION.PASTED_TIMED, {
    content: Array<string>;
    distortedDuration: boolean;
    pasteIntoNode: PASTE_ACTION_SUBJECT_ID;
    time: number;
}>;
export type PasteEventPayload = PasteAEP | PasteAsPlainAEP | PastedTimedAEP;
export type PasteActionsMenuOpenedAEP = UIAEP<ACTION.OPENED, ACTION_SUBJECT.PASTE_ACTIONS_MENU, undefined, {
    visibleAiActions: string[];
}, undefined>;
export type PasteActionsMenuEventPayload = PasteActionsMenuOpenedAEP;
export {};
