import { type Static } from "@sinclair/typebox";
export declare const LocalSocketSignerRequestSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
    op: import("@sinclair/typebox").TLiteral<"health">;
}>, import("@sinclair/typebox").TObject<{
    op: import("@sinclair/typebox").TLiteral<"getAddresses">;
    walletId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>, import("@sinclair/typebox").TObject<{
    op: import("@sinclair/typebox").TLiteral<"getBalance">;
    chain: import("@sinclair/typebox").TLiteral<"solana">;
    walletId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>, import("@sinclair/typebox").TObject<{
    op: import("@sinclair/typebox").TLiteral<"prepareTx">;
    request: import("@sinclair/typebox").TObject<{
        chain: import("@sinclair/typebox").TLiteral<"solana">;
        walletId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        to: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        amount: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        contract: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        program: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        tokenMint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        source: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        destination: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        allowSplInstructions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
        memo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        serializedTxBase64: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        preparedId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    }>;
}>, import("@sinclair/typebox").TObject<{
    op: import("@sinclair/typebox").TLiteral<"sendTx">;
    request: import("@sinclair/typebox").TObject<{
        chain: import("@sinclair/typebox").TLiteral<"solana">;
        walletId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        to: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        amount: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        contract: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        program: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        tokenMint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        source: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        destination: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        allowSplInstructions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
        memo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        serializedTxBase64: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        preparedId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    }>;
}>, import("@sinclair/typebox").TObject<{
    op: import("@sinclair/typebox").TLiteral<"signTx">;
    request: import("@sinclair/typebox").TObject<{
        chain: import("@sinclair/typebox").TLiteral<"solana">;
        walletId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        to: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        amount: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        contract: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        program: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        tokenMint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        source: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        destination: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        allowSplInstructions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
        memo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        serializedTxBase64: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        preparedId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    }>;
}>, import("@sinclair/typebox").TObject<{
    op: import("@sinclair/typebox").TLiteral<"sendSolanaInstruction">;
    request: import("@sinclair/typebox").TObject<{
        walletId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        programId: import("@sinclair/typebox").TString;
        dataBase64: import("@sinclair/typebox").TString;
        keys: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
            pubkey: import("@sinclair/typebox").TString;
            isSigner: import("@sinclair/typebox").TBoolean;
            isWritable: import("@sinclair/typebox").TBoolean;
        }>>;
    }>;
}>, import("@sinclair/typebox").TObject<{
    op: import("@sinclair/typebox").TLiteral<"custodyStatus">;
    walletId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>, import("@sinclair/typebox").TObject<{
    op: import("@sinclair/typebox").TLiteral<"unlockCustody">;
    request: import("@sinclair/typebox").TObject<{
        sessionId: import("@sinclair/typebox").TString;
        host: import("@sinclair/typebox").TString;
        walletId: import("@sinclair/typebox").TString;
        role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"mining">, import("@sinclair/typebox").TLiteral<"agent">, import("@sinclair/typebox").TLiteral<"vault">]>>;
        chains: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TLiteral<"solana">>>;
        allowPrograms: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
        expiresAt: import("@sinclair/typebox").TString;
        passphrase: import("@sinclair/typebox").TString;
        solanaMaxPerTx: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        solanaMaxDaily: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    }>;
}>, import("@sinclair/typebox").TObject<{
    op: import("@sinclair/typebox").TLiteral<"lockCustody">;
    request: import("@sinclair/typebox").TObject<{
        sessionId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        host: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
        walletId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    }>;
}>]>;
export type LocalSocketSignerRequest = Static<typeof LocalSocketSignerRequestSchema>;
export declare const LocalSocketSignerResponseEnvelopeSchema: import("@sinclair/typebox").TObject<{
    ok: import("@sinclair/typebox").TBoolean;
    result: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
    error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export type LocalSocketSignerResponseEnvelope = Static<typeof LocalSocketSignerResponseEnvelopeSchema>;
export declare const LocalSocketSignerHealthResultSchema: import("@sinclair/typebox").TObject<{
    details: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    readOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    keystoreType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    chains: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TLiteral<"solana">>>;
}>;
export declare const LocalSocketSignerAddressMapSchema: import("@sinclair/typebox").TObject<{
    solana: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const LocalSocketSignerBalanceResultSchema: import("@sinclair/typebox").TObject<{
    ok: import("@sinclair/typebox").TBoolean;
    chain: import("@sinclair/typebox").TLiteral<"solana">;
    address: import("@sinclair/typebox").TString;
    balance: import("@sinclair/typebox").TString;
    unit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const LocalSocketSignerPrepareResultSchema: import("@sinclair/typebox").TObject<{
    ok: import("@sinclair/typebox").TBoolean;
    chain: import("@sinclair/typebox").TLiteral<"solana">;
    preparedId: import("@sinclair/typebox").TString;
    signer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>;
}>;
export declare const LocalSocketSignerSendResultSchema: import("@sinclair/typebox").TObject<{
    ok: import("@sinclair/typebox").TBoolean;
    chain: import("@sinclair/typebox").TLiteral<"solana">;
    txHash: import("@sinclair/typebox").TString;
    signer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>;
}>;
export declare const LocalSocketSignerSignResultSchema: import("@sinclair/typebox").TObject<{
    ok: import("@sinclair/typebox").TBoolean;
    chain: import("@sinclair/typebox").TLiteral<"solana">;
    signedTxBase64: import("@sinclair/typebox").TString;
    signer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>;
}>;
export declare const LocalSocketSignerSendSolanaInstructionResultSchema: import("@sinclair/typebox").TObject<{
    ok: import("@sinclair/typebox").TBoolean;
    chain: import("@sinclair/typebox").TLiteral<"solana">;
    txHash: import("@sinclair/typebox").TString;
    signer: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>;
}>;
export declare const LocalSocketSignerCustodyStatusResultSchema: import("@sinclair/typebox").TObject<{
    active: import("@sinclair/typebox").TBoolean;
    sessionId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    host: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    expiresAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    walletId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"mining">, import("@sinclair/typebox").TLiteral<"agent">, import("@sinclair/typebox").TLiteral<"vault">]>>;
    chains: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TLiteral<"solana">>>;
    allowPrograms: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
    solanaMaxPerTx: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    solanaMaxDaily: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const LocalSocketSignerCustodyLockResultSchema: import("@sinclair/typebox").TObject<{
    active: import("@sinclair/typebox").TBoolean;
    removed: import("@sinclair/typebox").TBoolean;
}>;
export declare function parseLocalSocketSignerRequest(input: unknown): LocalSocketSignerRequest;
export declare function parseLocalSocketSignerResponseEnvelope(input: unknown): LocalSocketSignerResponseEnvelope;
export declare function validateLocalSocketSignerResult(op: LocalSocketSignerRequest["op"], result: unknown): boolean;
