///
import { Result } from 'neverthrow';
import { PublicKeyT } from '@radixdlt/crypto';
import { Encoding } from '../bech32';
import { AbstractAddressT, AddressTypeT } from './_types';
import { Network } from '@radixdlt/primitives';
export declare const isAbstractAddress: (something: unknown) => something is Readonly<{
addressType: AddressTypeT;
network: Network;
publicKey: Readonly<{
__hex: string;
asData: (input: {
readonly compressed: boolean;
}) => Buffer;
toString: (compressed?: boolean | undefined) => string;
isValidSignature: (input: Readonly<{
signature: Readonly<{
r: import("@radixdlt/uint256").UInt256;
s: import("@radixdlt/uint256").UInt256;
toDER: () => string;
equals: (other: Readonly) => boolean;
}>;
hashedMessage: Buffer;
}>) => boolean;
decodeToPointOnCurve: () => Readonly<{
x: import("@radixdlt/uint256").UInt256;
y: import("@radixdlt/uint256").UInt256;
toBuffer: (includePrefixByte?: boolean | undefined) => Buffer;
toString: (includePrefixByte?: boolean | undefined) => string;
equals: (other: Readonly) => boolean;
add: (other: Readonly) => Readonly;
multiply: (by: import("@radixdlt/uint256").UInt256) => Readonly;
multiplyWithPrivateKey: (privateKey: import("@radixdlt/crypto").PrivateKeyT) => Readonly;
}>;
equals: (other: Readonly) => boolean;
}>;
toString: () => string;
equals: (other: Readonly) => boolean;
}>;
export declare type TypeGuard = (something: unknown) => something is A;
export declare type NetworkFromHRP = (hrp: string) => Result;
export declare type HRPFromNetwork = (network: Network) => string;
export declare type FormatDataToBech32Convert = (publicKeyBytes: Buffer) => Buffer;
export declare type ValidateDataAndExtractPubKeyBytes = (data: Buffer) => Result;
export declare const AbstractAddress: {
byFormattingPublicKeyDataAndBech32ConvertingIt: Buffer;
toString: (compressed?: boolean | undefined) => string;
isValidSignature: (input: Readonly<{
signature: Readonly<{
r: import("@radixdlt/uint256").UInt256;
s: import("@radixdlt/uint256").UInt256;
toDER: () => string;
equals: (other: Readonly) => boolean;
}>;
hashedMessage: Buffer;
}>) => boolean;
decodeToPointOnCurve: () => Readonly<{
x: import("@radixdlt/uint256").UInt256;
y: import("@radixdlt/uint256").UInt256;
toBuffer: (includePrefixByte?: boolean | undefined) => Buffer;
toString: (includePrefixByte?: boolean | undefined) => string;
equals: (other: Readonly) => boolean;
add: (other: Readonly) => Readonly;
multiply: (by: import("@radixdlt/uint256").UInt256) => Readonly;
multiplyWithPrivateKey: (privateKey: import("@radixdlt/crypto").PrivateKeyT) => Readonly;
}>;
equals: (other: Readonly) => boolean;
}>;
toString: () => string;
equals: (other: Readonly) => boolean;
}>>(input: Readonly<{
publicKey: PublicKeyT;
hrpFromNetwork: HRPFromNetwork;
addressType: AddressTypeT;
network: Network;
typeguard: TypeGuard;
formatDataToBech32Convert?: FormatDataToBech32Convert | undefined;
encoding?: Encoding | undefined;
maxLength?: number | undefined;
}>) => Result;
fromString: Buffer;
toString: (compressed?: boolean | undefined) => string;
isValidSignature: (input: Readonly<{
signature: Readonly<{
r: import("@radixdlt/uint256").UInt256;
s: import("@radixdlt/uint256").UInt256;
toDER: () => string;
equals: (other: Readonly) => boolean;
}>;
hashedMessage: Buffer;
}>) => boolean;
decodeToPointOnCurve: () => Readonly<{
x: import("@radixdlt/uint256").UInt256;
y: import("@radixdlt/uint256").UInt256;
toBuffer: (includePrefixByte?: boolean | undefined) => Buffer;
toString: (includePrefixByte?: boolean | undefined) => string;
equals: (other: Readonly) => boolean;
add: (other: Readonly) => Readonly;
multiply: (by: import("@radixdlt/uint256").UInt256) => Readonly;
multiplyWithPrivateKey: (privateKey: import("@radixdlt/crypto").PrivateKeyT) => Readonly;
}>;
equals: (other: Readonly) => boolean;
}>;
toString: () => string;
equals: (other: Readonly) => boolean;
}>>(input: Readonly<{
bechString: string;
addressType: AddressTypeT;
networkFromHRP: NetworkFromHRP;
typeguard: TypeGuard;
validateDataAndExtractPubKeyBytes?: ValidateDataAndExtractPubKeyBytes | undefined;
encoding?: Encoding | undefined;
maxLength?: number | undefined;
}>) => Result;
};
//# sourceMappingURL=abstractAddress.d.ts.map