export function sleep(ms: number, { log, setTimeout }: {
    log: (message: string) => void;
    setTimeout: typeof global.setTimeout;
}): Promise<any>;
export function retryUntilCondition<T = unknown>(operation: () => Promise<T>, condition: (result: T) => boolean, message: string, { maxRetries, retryIntervalMs, reusePromise, renderResult, log, setTimeout, }: RetryOptions & {
    log?: typeof console.log;
    setTimeout: typeof global.setTimeout;
}): Promise<T>;
export function waitUntilContractDeployed(contractName: string, ambientAuthority: {
    log: (message: string) => void;
    follow: () => object;
    setTimeout: typeof global.setTimeout;
}, options: WaitUntilOptions): Promise<{
    [k: string]: any;
}>;
export function waitUntilAccountFunded(destAcct: string, io: {
    log?: (message: string) => void;
    query: () => Promise<object>;
    setTimeout: typeof global.setTimeout;
}, threshold: {
    denom: string;
    value: number;
}, options: WaitUntilOptions): Promise<any>;
export function waitUntilOfferResult(addr: string, offerId: string, waitForPayouts: boolean, io: {
    log?: typeof console.log;
    follow: () => object;
    setTimeout: typeof global.setTimeout;
}, options: WaitUntilOptions): Promise<any>;
export function waitUntilInvitationReceived(addr: string, io: {
    follow: () => object;
    log: typeof console.log;
    setTimeout: typeof global.setTimeout;
}, options: WaitUntilOptions): Promise<any>;
export function waitUntilOfferExited(addr: string, offerId: string, io: {
    follow: () => object;
    log: typeof console.log;
    setTimeout: typeof global.setTimeout;
}, options: WaitUntilOptions): Promise<any>;
export function waitUntilElectionResult(committeePathBase: string, expectedResult: {
    outcome: string;
    deadline: bigint;
}, io: {
    vstorage: import("./vstorage-kit").VstorageKit;
    log: typeof console.log;
    setTimeout: typeof global.setTimeout;
}, options: WaitUntilOptions): Promise<ElectionResult>;
export type RetryOptions = {
    maxRetries?: number | undefined;
    retryIntervalMs?: number | undefined;
    reusePromise?: boolean | undefined;
    renderResult?: ((value: unknown) => unknown) | undefined;
};
export type WaitUntilOptions = RetryOptions & {
    errorMessage: string;
};
export type CosmosBalanceThreshold = {
    denom: string;
    value: number;
};
export type ElectionResult = {
    latestOutcome: {
        outcome: string;
        question: import("@endo/marshal").RemotableObject;
    };
    latestQuestion: {
        closingRule: {
            deadline: bigint;
        };
        questionHandle: import("@endo/marshal").RemotableObject;
    };
};
//# sourceMappingURL=sync-tools.d.ts.map