import { type PrivateKey, Script } from "@bsv/sdk";
import { type AIPProtocolBuilder, type BProtocolBuilder, type MAPProtocolBuilder, type ProtocolDataArray, type SignedProtocolData, type SocialTransactionInput } from "../types/protocol.js";
import type { ContentType, SocialActionType } from "../types/social.js";
export declare function buildBProtocol(builder: BProtocolBuilder): ProtocolDataArray;
export declare function buildMAPProtocol(builder: MAPProtocolBuilder): ProtocolDataArray;
export declare function buildSocialTransaction(input: SocialTransactionInput): ProtocolDataArray;
export declare function signWithAIP(builder: AIPProtocolBuilder): SignedProtocolData;
export declare function buildOpReturnScript(signedData: SignedProtocolData): Script;
export declare function createSocialActionTransaction(type: SocialActionType, signingKey: PrivateKey, options: {
    content?: string;
    contentType?: ContentType;
    targetTxid?: string;
    targetIdKey?: string;
    emoji?: string;
    app: string;
    metadata?: Record<string, string>;
}): SignedProtocolData;
export declare const SocialActions: {
    post: (content: string, signingKey: PrivateKey, app: string, contentType?: ContentType) => SignedProtocolData;
    reply: (content: string, parentTxid: string, signingKey: PrivateKey, app: string, contentType?: ContentType) => SignedProtocolData;
    like: (txid: string, signingKey: PrivateKey, app: string, emoji?: string) => SignedProtocolData;
    unlike: (txid: string, signingKey: PrivateKey, app: string, emoji?: string) => SignedProtocolData;
    follow: (idKey: string, signingKey: PrivateKey, app: string) => SignedProtocolData;
    unfollow: (idKey: string, signingKey: PrivateKey, app: string) => SignedProtocolData;
    friend: (idKey: string, signingKey: PrivateKey, app: string) => SignedProtocolData;
    unfriend: (idKey: string, signingKey: PrivateKey, app: string) => SignedProtocolData;
    message: (content: string, recipient: string, signingKey: PrivateKey, app: string, encrypted?: boolean) => SignedProtocolData;
};
//# sourceMappingURL=protocol.d.ts.map