import { EncodedMessage, DocOptions, CosmosSignerConfig } from '@interchainjs/cosmos';
/**
 * Encode public key for Injective
 * Uses the Injective-specific public key type URL
 */
export declare const encodeInjectivePublicKey: (publicKey: Uint8Array) => EncodedMessage;
/**
 * Default configuration for Injective signers
 * Provides Injective-specific defaults for fee calculation, signing options, and transaction options
 */
export declare const DEFAULT_INJECTIVE_SIGNER_CONFIG: Partial<DocOptions>;
/**
 * Creates a complete Injective signer configuration by merging user-provided config with defaults
 * @param userConfig - User-provided configuration (must include required EndpointOptions)
 * @returns Complete CosmosSignerConfig with Injective defaults applied
 */
export declare function createInjectiveSignerConfig(userConfig: CosmosSignerConfig): CosmosSignerConfig;
/**
 * Creates a partial configuration for use in sign operations
 * Merges the base signer config with operation-specific options
 * @param baseConfig - Base signer configuration
 * @param operationOptions - Operation-specific options (from sign args)
 * @returns Merged configuration for the operation
 */
export declare function mergeInjectiveSignerOptions(baseConfig: CosmosSignerConfig, operationOptions?: Partial<DocOptions>): DocOptions;
