import { CommonTaskAttrs, Host, Task } from '../types.js';
export declare function add_host(name: string, attrs: Host, common?: CommonTaskAttrs): Task<'ansible.builtin.add_host', Host>;
export type SetFactsAttrs = Record<string, any>;
export declare function set_facts(name: string, attrs: SetFactsAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.set_fact', SetFactsAttrs>;
export type SetupAttrs = {
    fact_path?: string;
    filter?: string[];
    gather_subset?: string[];
    gather_timeout?: number;
};
export declare function setup(name: string, attrs: SetupAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.setup', SetupAttrs>;
export type StatAttrs = {
    path: string;
};
export declare function stat(name: string, attrs: StatAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.stat', StatAttrs>;
export type FileAttrs = {
    path: string;
    state: 'file' | 'directory' | 'absent';
    mode?: string;
    owner?: string;
    group?: string;
    recurse?: boolean;
};
export declare function file(name: string, attrs: FileAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.file', FileAttrs>;
export type LineInFileAttrs = {
    path: string;
    line: string;
    state: 'present' | 'absent';
};
export declare function lineinfile(name: string, attrs: LineInFileAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.lineinfile', LineInFileAttrs>;
export type TempFileAttrs = {
    state: 'file' | 'directory';
};
export declare function tempfile(name: string, attrs: TempFileAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.tempfile', TempFileAttrs>;
export type TemplateAttrs = {
    src: string;
    dest: string;
};
export declare function template(name: string, attrs: TemplateAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.template', TemplateAttrs>;
export type CopyAttrs = ({
    src: string;
} | {
    content: string;
}) & {
    dest: string;
    owner?: string;
    mode?: string;
};
export declare function copy(name: string, attrs: CopyAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.copy', CopyAttrs>;
export type GetUrlAttrs = {
    url: string;
    dest: string;
    mode?: string;
};
export declare function get_url(name: string, attrs: GetUrlAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.get_url', GetUrlAttrs>;
export type GitAttrs = {
    repo: string;
    dest: string;
    version: string;
    accept_hostkey: boolean;
};
export declare function git(name: string, attrs: GitAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.git', GitAttrs>;
export type CommandAttrs = {
    cmd: string;
    chdir?: string;
    creates?: string;
    removes?: string;
};
export declare function command(name: string, attrs: CommandAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.command', CommandAttrs>;
export type ShellAttrs = {
    cmd: string;
    chdir?: string;
    creates?: string;
    removes?: string;
    executable?: string;
};
export declare function shell(name: string, attrs: ShellAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.shell', ShellAttrs>;
export type CronAttrs = {
    name: string;
    job: string;
    state?: 'present' | 'absent';
    minute?: string | number;
    hour?: string | number;
    day?: string | number;
    weekday?: string | number;
    month?: string | number;
    special_time?: 'annually' | 'daily' | 'hourly' | 'monthly' | 'reboot' | 'weekly' | 'yearly';
};
export declare function cron(name: string, attrs: CronAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.cron', CronAttrs>;
export type ServiceAttrs = {
    name: string;
    state: 'started' | 'stopped' | 'restarted';
};
export declare function service(name: string, attrs: ServiceAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.service', ServiceAttrs>;
export type AptAttrs = {
    name?: string | string[];
    deb?: string;
    state?: 'present' | 'absent';
    update_cache?: boolean;
    cache_valid_time?: number;
};
export declare function apt(name: string, attrs: AptAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.apt', AptAttrs>;
export type AptKeyAttrs = {
    url: string;
    state: 'present' | 'absent';
};
export declare function apt_key(name: string, attrs: AptKeyAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.apt_key', AptKeyAttrs>;
export type AptRepositoryAttrs = {
    repo: string;
    state: 'present' | 'absent';
    filename?: string;
};
export declare function apt_repository(name: string, attrs: AptRepositoryAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.apt_repository', AptRepositoryAttrs>;
export declare function service_facts(name: string, common?: CommonTaskAttrs): Task<'ansible.builtin.service_facts', {}>;
export type AssertAttrs = {
    that: string;
    fail_msg?: string;
    success_msg?: string;
};
export declare function assert(name: string, attrs: AssertAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.assert', AssertAttrs>;
export type DebugAttrs = {
    msg?: string | string[];
    var?: string;
    verbosity?: number;
};
export declare function debug(name: string, attrs: DebugAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.debug', DebugAttrs>;
export type UserAttrs = {
    name: string;
    password: string;
    state: 'present' | 'absent';
    shell: string;
    groups?: string[];
    create_home?: boolean;
    home?: string;
};
export declare function user(name: string, attrs: UserAttrs, common?: CommonTaskAttrs): Task<'ansible.builtin.user', UserAttrs>;
//# sourceMappingURL=builtin.d.ts.map