import { APIEncoding, APIVersion, NetworkType, QRTemplateType } from '../../types';
export type SnippetHandlerArgs = {
    apiVersion: APIVersion;
    network: NetworkType;
    encoding: APIEncoding;
    input: string;
    debug?: boolean;
    refAddress?: string;
    disableNetworkRouter?: boolean;
    /**
     * Optional wallet URL pattern override.
     * When provided, snippet outputs can consistently target a custom wallet base
     * (e.g. local development wallets) while preserving handler response types.
     */
    urlPattern?: string;
    /**
     * Optional per-token overrides for snippet templates.
     *
     * Keys can be either:
     * - a key of `snippetTokens` (recommended), e.g. `title`, `twitterUrl`
     * - the raw placeholder string (advanced), e.g. `$#___TITLE___#$`
     *
     * Values are injected as-is (no escaping). For JS-literal tokens
     * (like apiVersion/network/encoding) pass a valid JS literal, e.g. `"2"`.
     */
    snippetArgs?: SnippetArgs;
    qrResultType?: 'png' | 'svg';
    outputFile?: string;
    template?: QRTemplateType | string;
    styles?: string;
};
export type SnippetArgs = Partial<Record<keyof typeof snippetTokens, string>> & {
    /**
     * Raw JS object literal used to override the entire `defaultIntents` map.
     * This has higher priority than the default user intent injection.
     *
     * Useful when you want to add comments or additional intent definitions.
     */
    defaultIntents?: string;
};
export declare const snippetTokens: {
    readonly title: "$#___TITLE___#$";
    readonly description: "$#___DESCRIPTION___#$";
    readonly appId: "$#___APP_ID___#$";
    readonly appVersion: "$#___APP_VERSION___#$";
    readonly appYear: "$#___APP_YEAR___#$";
    readonly defaultIntentsBlock: "$#___DEFAULT_INTENTS_BLOCK___#$";
    readonly url: "$#___URL___#$";
    readonly urlPattern: "$#___URL_PATTERN___#$";
    readonly walletBaseUrl: "$#___WALLET_BASE_URL___#$";
    readonly apiVersion: "$#___API_VERSION___#$";
    readonly network: "$#___NETWORK___#$";
    readonly encoding: "$#___ENCODING___#$";
    readonly refAddress: "$#___REF_ADDRESS___#$";
    readonly disableNetworkRouter: "$#___DISABLE_NETWORK_ROUTER___#$";
    readonly gcScript: "$#___GC_SCRIPT___#$";
    readonly origin: "$#___ORIGIN___#$";
    readonly playgroundUrl: "$#___PLAYGROUND_URL___#$";
    readonly twitterUrl: "$#___TWITTER_URL___#$";
    readonly discordUrl: "$#___DISCORD_URL___#$";
    readonly youtubeUrl: "$#___YOUTUBE_URL___#$";
    readonly githubUrl: "$#___GITHUB_URL___#$";
    readonly websiteUrl: "$#___WEBSITE_URL___#$";
    readonly autoGeneratedLinkUrl: "$#___AUTO_GENERATED_LINK_URL___#$";
    readonly autoGeneratedLinkText: "$#___AUTO_GENERATED_LINK_TEXT___#$";
    readonly buttonText: "$#___BUTTON_TEXT___#$";
    readonly encodingsArray: "$#___ENCODINGS_ARRAY___#$";
    readonly selectedEncoding: "$#___SELECTED_ENCODING___#$";
    readonly gcLibBrowserImports: "$#___GC_BROWSER_IMPORTS___#$";
    readonly gcLibNodeJsImports: "$#___GC_NODEJS_IMPORTS___#$";
};
export declare const replaceSnippetPlaceholders: (template: string, replacements: Record<string, string>) => string;
export declare const toUtf8DataUri: (mimeType: string, text: string) => string;
export declare const toJSLiteral: (value?: string) => string;
export declare const toBooleanLiteral: (value?: boolean) => "false" | "true";
export declare const resolveSnippetOrigin: (apiVersion?: APIVersion, network?: NetworkType) => any;
/**
 * Applies snippetArgs overrides to an existing placeholder map.
 *
 * This enables complete control over every placeholder defined in snippetTokens.
 */
export declare const applySnippetArgs: (replacements: Record<string, string>, snippetArgs?: SnippetArgs) => Record<string, string>;
export declare const normalizeHtmlZeroEncoding: (encoding: APIEncoding) => "gzip" | "base64url";
export declare const resolveHtmlLikeDappTitle: (_script: any) => string;
export declare const resolveHtmlLikeDappDescription: (_script: any) => string;
export declare const resolveHtmlLikeTitle: (script: any) => any;
export declare const resolveHtmlLikeDescription: (script: any) => any;
export declare const buildSnippetAppId: (script: any) => string;
export declare const buildHtmlLikeDefaultIntentsBlock: (script: any, snippetArgs?: SnippetArgs) => string;
export declare const buildHtmlLikeReplacements: (args: Pick<SnippetHandlerArgs, "apiVersion" | "network" | "encoding" | "refAddress" | "disableNetworkRouter" | "urlPattern">, script: any, version?: string, snippetArgs?: SnippetArgs) => Record<string, string>;
export declare const buildHtmlZeroReplacements: (args: SnippetHandlerArgs, script: any, snippetArgs?: SnippetArgs) => Record<string, string>;
