import type { ToolDefinition } from '../types.js';
export type ToolToolkitContext = {
    workspaceRoot: string;
    stateRoot: string;
    model: string;
    apiKey?: string;
    providerCredentialSource?: import('../runtime/credentials/index.js').ProviderCredentialSource;
    credentialStorePath?: string;
    memoryDir: string;
    memoryMode: 'none' | 'read-and-record' | 'maintainer' | 'legacy-full';
    searchIgnoreDirs?: string[];
};
export type ToolToolkit = {
    id: string;
    createTools(context: ToolToolkitContext): ToolDefinition[];
};
/**
 * Composes production toolkits into a duplicate-checked tool bundle.
 */
export declare class ToolBundleComposer {
    static compose(args: {
        toolkits: readonly ToolToolkit[];
        context: ToolToolkitContext;
    }): ToolDefinition[];
}
//# sourceMappingURL=toolkit.d.ts.map