import { Authenticator } from '@smontero/nostr-ual'; import { Event } from 'nostr-tools'; import { Balance } from './Balance'; import { BaseOwnedSigner, PolicyPathSelector, Trx, Policy, FinalizeTrxResponse, BasicTrxDetails, TrxDetails, Utxo, PolicyPathsResult } from './types'; import { BitcoinUtil } from './interfaces'; import { PaginationOpts } from '../util'; import { UIMetadata } from '../util/GenerateUiMetadata'; import { LabeledUtxo, PublishedLabel, PublishedOwnedSigner, PublishedProofOfReserveProposal, PublishedSharedSigner, PublishedSpendingProposal } from '../types'; import { type Store } from '../service'; export declare class PublishedPolicy { id: string; name: string; description: string; descriptor: string; createdAt: Date; sharedKeyAuth: Authenticator; nostrPublicKeys: string[]; lastSyncTime?: Date; generatedUiMetadata?: UIMetadata; vaultData?: string; private wallet; private syncTimeGap; private syncPromise?; private getSharedSigners; private getOwnedSigners; private toMiniscript; private getProposalsByPolicyId; private getLabelsByPolicyId; private labelStore; static fromPolicyAndEvent({ policyContent, policyEvent, bitcoinUtil, nostrPublicKeys, sharedKeyAuth, }: { policyContent: Policy; policyEvent: Event; bitcoinUtil: BitcoinUtil; nostrPublicKeys: string[]; sharedKeyAuth: Authenticator; }, getSharedSigners: (publicKeys?: string | string[]) => Promise, getOwnedSigners: () => Promise, getProposalsByPolicyId: (policy_ids: string[] | string, paginationOpts: PaginationOpts) => Promise>>, getLabelsByPolicyId: (policy_ids: string[] | string, paginationOpts: PaginationOpts) => Promise>>, labelStore: Store): PublishedPolicy; constructor({ id, name, description, descriptor, createdAt, }: { id: string; name: string; description: string; descriptor: string; createdAt: Date; }, bitcoinUtil: BitcoinUtil, nostrPublicKeys: string[], sharedKeyAuth: Authenticator, getSharedSigners: (publicKeys?: string | string[]) => Promise, getOwnedSigners: () => Promise, getProposalsByPolicyId: (policy_ids: string[] | string, paginationOpts: PaginationOpts) => Promise>>, getLabelsByPolicyId: (policy_ids: string[] | string, paginationOpts: PaginationOpts) => Promise>>, labelStore: Store); getUiMetadata(): Promise; private getFilter; private filterSigners; private getKeys; private getUiMetadataFromDescriptor; sync(): Promise; getBalance(): Promise; getNewAddress(): Promise; getPolicy(): Map; buildTrx({ address, amount, feeRate, policyPath, utxos, frozenUtxos }: { address: string; amount: string; feeRate: string; policyPath?: Map>; utxos?: Array; frozenUtxos?: Array; }): Promise; finalizeTrx(psbts: string[], broadcast: boolean): Promise; getTrxs(): Promise>; getTrx(txid: string): Promise; getUtxos(): Promise>; getPolicyPathFromSigner(signer: BaseOwnedSigner): PolicyPathSelector | null; getPolicyPathsFromSigners(): Promise; searchUsedSigners(signers: Array): Array; getLabeledUtxos(): Promise>; getFrozenUtxosOutpoints(): Promise; getUtxosOutpoints(): Promise; getFrozenBalance(): Promise; getVaultData(): string; private decorateTrxDetails; private synced; private requiresSync; private removeDuplicates; }