export type ExternalIdentifiers = {
    "#": `#${string}`;
    geo: `geo:${string}`;
    isbn: `isbn:${string}`;
    "podcast:guid": `podcast:guid:${string}`;
    "podcast:item:guid": `podcast:item:guid:${string}`;
    "podcast:publisher:guid": `podcast:publisher:guid:${string}`;
    isan: `isan:${string}`;
    doi: `doi:${string}`;
};
export type ExternalPointer<Prefix extends keyof ExternalIdentifiers> = {
    kind: Prefix;
    identifier: ExternalIdentifiers[Prefix];
};
export type ParseResult = {
    [P in keyof ExternalIdentifiers]: ExternalPointer<P>;
}[keyof ExternalIdentifiers];
/**
 * Parses a NIP-73 external identifier
 * @throws
 */
export declare function parseExternalPointer<Prefix extends keyof ExternalIdentifiers>(identifier: `${Prefix}1${string}`): ExternalPointer<Prefix>;
export declare function parseExternalPointer(identifier: string): ParseResult;
/**
 * Gets an ExternalPointer for a "i" tag
 * @throws
 */
export declare function getExternalPointerFromTag<Prefix extends keyof ExternalIdentifiers>(tag: string[]): ExternalPointer<Prefix>;
export declare function getExternalPointerFromTag(tag: string[]): ParseResult;
