import { AbstractAssertionsAndVariablesStep } from './AbstractAssertionsAndVariablesStep';
import { AssertionsAndVariablesStepDescriptor, AssertionsAndVariablesStepDescriptorAssertion, AssertionsAndVariablesStepDescriptorVariable } from '../types/AssertionsAndVariablesStepDescriptor';
import { SnippetDescriptor } from '../types/SnippetsDescriptor';
import { DatabaseQueryResultColumn } from '@mablhq-internal/typescript-api-client';
import { MablStep } from '../MablStep';
import { MablAction } from '../MablAction';
export declare class DatabaseQueryStep extends AbstractAssertionsAndVariablesStep<DatabaseQueryDescriptorAssertion, DatabaseQueryDescriptorVariable, DatabaseQueryDescriptor> {
    static readonly stepName = "DatabaseQuery";
    static readonly actionCode = "database_query";
    static readonly mablScriptStepNames: string[];
    static readonly yamlMablScriptNames: string[];
    constructor(descriptor: DatabaseQueryDescriptor);
    private isValidDescriptor;
    static fromYaml(_stepName: string, stepArgs: {
        [key: string]: any;
    }): DatabaseQueryStep;
    static fromLegacyMablscript(args: any[], actions: MablAction[]): DatabaseQueryStep;
    stepDescription(): string;
}
export interface DatabaseQueryDescriptor extends AssertionsAndVariablesStepDescriptor<DatabaseQueryDescriptorAssertion, DatabaseQueryDescriptorVariable> {
    snippet: SnippetDescriptor;
}
export interface DatabaseQueryDescriptorVariable extends AssertionsAndVariablesStepDescriptorVariable {
    source: DatabaseQueryVariableSource;
}
export interface DatabaseQueryDescriptorAssertion extends AssertionsAndVariablesStepDescriptorAssertion {
    source: DatabaseQueryVariableSource;
}
export declare enum DatabaseQueryVariableSource {
    Metadata = "metadata",
    Result = "result"
}
export interface DatabaseQueryMetadata {
    columnCount: number;
    columns: DatabaseQueryResultColumn[];
    message: string;
    rowCount: number;
    rowsAffected: number;
}
export declare function isDatabaseQueryStep(step: MablStep): step is DatabaseQueryStep;
//# sourceMappingURL=DatabaseQueryStep.d.ts.map