import { Request, DataBrew as AWSDataBrew } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSDataBrew> = AWSDataBrew[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSDataBrew, Extras> = AWSDataBrew[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class DataBrew {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "databrew";
    readonly global: false;
    readonly category: "Database";
    readonly topLevelCalls: readonly ["listDatasets", "listJobs", "listProjects", "listRecipes", "listRulesets", "listSchedules"];
    batchDeleteRecipeVersion: (params: ParamsFrom<'batchDeleteRecipeVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'batchDeleteRecipeVersion'>>;
    createDataset: (params: ParamsFrom<'createDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'createDataset'>>;
    createProfileJob: (params: ParamsFrom<'createProfileJob', Record<string, never>>) => Promise<ReturnTypeFrom<'createProfileJob'>>;
    createProject: (params: ParamsFrom<'createProject', Record<string, never>>) => Promise<ReturnTypeFrom<'createProject'>>;
    createRecipe: (params: ParamsFrom<'createRecipe', Record<string, never>>) => Promise<ReturnTypeFrom<'createRecipe'>>;
    createRecipeJob: (params: ParamsFrom<'createRecipeJob', Record<string, never>>) => Promise<ReturnTypeFrom<'createRecipeJob'>>;
    createRuleset: (params: ParamsFrom<'createRuleset', Record<string, never>>) => Promise<ReturnTypeFrom<'createRuleset'>>;
    createSchedule: (params: ParamsFrom<'createSchedule', Record<string, never>>) => Promise<ReturnTypeFrom<'createSchedule'>>;
    deleteDataset: (params: ParamsFrom<'deleteDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDataset'>>;
    deleteJob: (params: ParamsFrom<'deleteJob', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteJob'>>;
    deleteProject: (params: ParamsFrom<'deleteProject', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteProject'>>;
    deleteRecipeVersion: (params: ParamsFrom<'deleteRecipeVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRecipeVersion'>>;
    deleteRuleset: (params: ParamsFrom<'deleteRuleset', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRuleset'>>;
    deleteSchedule: (params: ParamsFrom<'deleteSchedule', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSchedule'>>;
    describeDataset: (params: ParamsFrom<'describeDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDataset'>>;
    describeJob: (params: ParamsFrom<'describeJob', Record<string, never>>) => Promise<ReturnTypeFrom<'describeJob'>>;
    describeJobRun: (params: ParamsFrom<'describeJobRun', Record<string, never>>) => Promise<ReturnTypeFrom<'describeJobRun'>>;
    describeProject: (params: ParamsFrom<'describeProject', Record<string, never>>) => Promise<ReturnTypeFrom<'describeProject'>>;
    describeRecipe: (params: ParamsFrom<'describeRecipe', Record<string, never>>) => Promise<ReturnTypeFrom<'describeRecipe'>>;
    describeRuleset: (params: ParamsFrom<'describeRuleset', Record<string, never>>) => Promise<ReturnTypeFrom<'describeRuleset'>>;
    describeSchedule: (params: ParamsFrom<'describeSchedule', Record<string, never>>) => Promise<ReturnTypeFrom<'describeSchedule'>>;
    listDatasets(params: {
        [K in keyof ParamsFrom<'listDatasets', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDatasets', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDatasets'>]-?: ReturnTypeFrom<'listDatasets'>[K];
        }['Datasets'];
    }>;
    listJobRuns(params: {
        [K in keyof ParamsFrom<'listJobRuns', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listJobRuns', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listJobRuns'>]-?: ReturnTypeFrom<'listJobRuns'>[K];
        }['JobRuns'];
    }>;
    listJobs(params: {
        [K in keyof ParamsFrom<'listJobs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listJobs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listJobs'>]-?: ReturnTypeFrom<'listJobs'>[K];
        }['Jobs'];
    }>;
    listProjects(params: {
        [K in keyof ParamsFrom<'listProjects', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listProjects', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listProjects'>]-?: ReturnTypeFrom<'listProjects'>[K];
        }['Projects'];
    }>;
    listRecipeVersions(params: {
        [K in keyof ParamsFrom<'listRecipeVersions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listRecipeVersions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listRecipeVersions'>]-?: ReturnTypeFrom<'listRecipeVersions'>[K];
        }['Recipes'];
    }>;
    listRecipes(params: {
        [K in keyof ParamsFrom<'listRecipes', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listRecipes', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listRecipes'>]-?: ReturnTypeFrom<'listRecipes'>[K];
        }['Recipes'];
    }>;
    listRulesets(params: {
        [K in keyof ParamsFrom<'listRulesets', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listRulesets', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listRulesets'>]-?: ReturnTypeFrom<'listRulesets'>[K];
        }['Rulesets'];
    }>;
    listSchedules(params: {
        [K in keyof ParamsFrom<'listSchedules', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listSchedules', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listSchedules'>]-?: ReturnTypeFrom<'listSchedules'>[K];
        }['Schedules'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    publishRecipe: (params: ParamsFrom<'publishRecipe', Record<string, never>>) => Promise<ReturnTypeFrom<'publishRecipe'>>;
    sendProjectSessionAction: (params: ParamsFrom<'sendProjectSessionAction', Record<string, never>>) => Promise<ReturnTypeFrom<'sendProjectSessionAction'>>;
    startJobRun: (params: ParamsFrom<'startJobRun', Record<string, never>>) => Promise<ReturnTypeFrom<'startJobRun'>>;
    startProjectSession: (params: ParamsFrom<'startProjectSession', Record<string, never>>) => Promise<ReturnTypeFrom<'startProjectSession'>>;
    stopJobRun: (params: ParamsFrom<'stopJobRun', Record<string, never>>) => Promise<ReturnTypeFrom<'stopJobRun'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateDataset: (params: ParamsFrom<'updateDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDataset'>>;
    updateProfileJob: (params: ParamsFrom<'updateProfileJob', Record<string, never>>) => Promise<ReturnTypeFrom<'updateProfileJob'>>;
    updateProject: (params: ParamsFrom<'updateProject', Record<string, never>>) => Promise<ReturnTypeFrom<'updateProject'>>;
    updateRecipe: (params: ParamsFrom<'updateRecipe', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRecipe'>>;
    updateRecipeJob: (params: ParamsFrom<'updateRecipeJob', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRecipeJob'>>;
    updateRuleset: (params: ParamsFrom<'updateRuleset', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRuleset'>>;
    updateSchedule: (params: ParamsFrom<'updateSchedule', Record<string, never>>) => Promise<ReturnTypeFrom<'updateSchedule'>>;
    static fromClient(client: AWSDataBrew): DataBrew;
    static client(options?: AWSDataBrew.Types.ClientConfiguration): DataBrew;
}
export {};
