import type { AdaptorMock } from "./discordAdaptorMock"; import type { Logger } from "../util/logger"; import type { Awaitable } from "../util/types"; export type RenderHookOptions = { initialArgs?: TArgs; adaptor?: AdaptorMock; randomSource?: () => number; logger?: Logger; }; export declare const renderHook: (runHook: (args: TArgs) => TResult, options?: RenderHookOptions | undefined) => Promise<{ waitFor: (cb: () => boolean | void, { timeout, interval }?: { timeout?: number | undefined; interval?: number | undefined; }) => Promise; waitForNextUpdate: ({ timeout }?: { timeout?: number | undefined; }) => Promise; result: { current: TResult; }; rerender: (param?: { messageId?: string | undefined; newArgs?: TArgs | undefined; } | undefined) => Promise; unmount: () => Promise; act: (cb: () => Awaitable, messageId?: string) => Promise; adaptorMock: AdaptorMock; interactionHelper: { emitInteraction: (interaction: import("..").AdaptorInteraction) => Promise; emitButtonInteraction: (customId: string, overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; emitStringSelectInteraction: (customId: string, values: readonly string[], overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; emitUserSelectInteraction: (customId: string, dummyUsers: number | readonly Partial[], overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; emitRoleSelectInteraction: (customId: string, dummyRole: number | readonly Partial[], overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; emitChannelSelectInteraction: (customId: string, dummyChannelTypes: readonly (Partial & Pick)[], overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; emitMentionableSelectInteraction: (customId: string, dummyMentionables: readonly (({ type: "user"; } & Partial) | ({ type: "role"; } & Partial))[], overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; clickButtonComponent: (component: import("..").AdaptorNonLinkButtonComponent, overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; selectStringSelectComponent: (component: Readonly, values: string[], overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; selectUserSelectComponent: (component: Readonly, dummyUsers: number | readonly Partial[], overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; selectRoleSelectComponent: (component: Readonly, dummyRoles: number | readonly Partial[], overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; selectChannelSelectComponent: (component: Readonly, dummyChannels: readonly (Partial & Pick)[], overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; selectMentionableSelectComponent: (component: Readonly, dummyMentionables: readonly (({ type: "user"; } & Partial) | ({ type: "role"; } & Partial))[], overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; confirmModal: (responseData: Readonly, fields: Readonly>, overrideParam?: (Readonly> | ((value: Readonly) => Readonly>)) | undefined) => Promise; }; }>; export declare const asyncUtil: (actAsync: (cb: () => Promise, messageId?: string) => Promise, addResolver: (resolver: () => void) => void) => { waitFor: (cb: () => boolean | void, { timeout, interval }?: { timeout?: number | undefined; interval?: number | undefined; }) => Promise; waitForNextUpdate: ({ timeout }?: { timeout?: number | undefined; }) => Promise; }; //# sourceMappingURL=testRenderer.d.ts.map