import { Observable } from "rxjs";
import type { ConnectAppEvent, Input as ConnectAppInput } from "../connectApp";
import type { Action, Device } from "./types";
import type { AppRequest, AppState } from "./app";
import type { Account, AccountLike, SignedOperation } from "@ledgerhq/types-live";
type State = {
    signedOperation: SignedOperation | null | undefined;
    deviceSignatureRequested: boolean;
    deviceStreamingProgress: number | null | undefined;
    transactionSignError: Error | null | undefined;
    transactionChecksOptInTriggered: boolean;
    transactionChecksOptIn: boolean | null;
    manifestId?: string;
    manifestName?: string;
};
type RawTransactionState = AppState & State;
type RawTransactionRequest = {
    parentAccount: Account | null | undefined;
    account: AccountLike;
    transaction: string;
    broadcast?: boolean;
    appName?: string;
    dependencies?: AppRequest[];
    requireLatestFirmware?: boolean;
    manifestId?: string;
    manifestName?: string;
};
export type RawTransactionResult = {
    signedOperation: SignedOperation;
    device: Device;
    swapId?: string;
} | {
    transactionSignError: Error;
};
type TransactionAction = Action<RawTransactionRequest, RawTransactionState, RawTransactionResult>;
export declare const createAction: (connectAppExec: (arg0: ConnectAppInput) => Observable<ConnectAppEvent>) => TransactionAction;
export {};
//# sourceMappingURL=rawTransaction.d.ts.map