import { StorageProvidedBy, TrxToken } from '../../../sdk/WalletStorage.interfaces';
import { TableOutput } from '../tables/TableOutput';
import { EntityBase, EntityStorage, SyncMap } from './EntityBase';
export declare class EntityOutput extends EntityBase<TableOutput> {
    constructor(api?: TableOutput);
    updateApi(): void;
    get outputId(): number;
    set outputId(v: number);
    get created_at(): Date;
    set created_at(v: Date);
    get updated_at(): Date;
    set updated_at(v: Date);
    get userId(): number;
    set userId(v: number);
    get transactionId(): number;
    set transactionId(v: number);
    get basketId(): number | undefined;
    set basketId(v: number | undefined);
    get spentBy(): number | undefined;
    set spentBy(v: number | undefined);
    get vout(): number;
    set vout(v: number);
    get satoshis(): number;
    set satoshis(v: number);
    get outputDescription(): string;
    set outputDescription(v: string);
    get spendable(): boolean;
    set spendable(v: boolean);
    get change(): boolean;
    set change(v: boolean);
    get txid(): string | undefined;
    set txid(v: string | undefined);
    get type(): string;
    set type(v: string);
    get providedBy(): StorageProvidedBy;
    set providedBy(v: StorageProvidedBy);
    get purpose(): string;
    set purpose(v: string);
    get spendingDescription(): string | undefined;
    set spendingDescription(v: string | undefined);
    get derivationPrefix(): string | undefined;
    set derivationPrefix(v: string | undefined);
    get derivationSuffix(): string | undefined;
    set derivationSuffix(v: string | undefined);
    get senderIdentityKey(): string | undefined;
    set senderIdentityKey(v: string | undefined);
    get customInstructions(): string | undefined;
    set customInstructions(v: string | undefined);
    get lockingScript(): number[] | undefined;
    set lockingScript(v: number[] | undefined);
    get scriptLength(): number | undefined;
    set scriptLength(v: number | undefined);
    get scriptOffset(): number | undefined;
    set scriptOffset(v: number | undefined);
    get id(): number;
    set id(v: number);
    get entityName(): string;
    get entityTable(): string;
    equals(ei: TableOutput, syncMap?: SyncMap | undefined): boolean;
    static mergeFind(storage: EntityStorage, userId: number, ei: TableOutput, syncMap: SyncMap, trx?: TrxToken): Promise<{
        found: boolean;
        eo: EntityOutput;
        eiId: number;
    }>;
    mergeNew(storage: EntityStorage, userId: number, syncMap: SyncMap, trx?: TrxToken): Promise<void>;
    mergeExisting(storage: EntityStorage, since: Date | undefined, ei: TableOutput, syncMap: SyncMap, trx?: TrxToken): Promise<boolean>;
}
//# sourceMappingURL=EntityOutput.d.ts.map