import type { IDataObject } from 'n8n-workflow';
export declare namespace Zammad {
    type Resource = 'group' | 'organization' | 'ticket' | 'user';
    type AuthMethod = 'basicAuth' | 'tokenAuth';
    type Credentials = BasicAuthCredentials | TokenAuthCredentials;
    type CredentialsBase = {
        baseUrl: string;
        allowUnauthorizedCerts: boolean;
    };
    type BasicAuthCredentials = CredentialsBase & {
        authType: 'basicAuth';
        username: string;
        password: string;
    };
    type TokenAuthCredentials = CredentialsBase & {
        authType: 'tokenAuth';
        accessToken: string;
    };
    type UserAdditionalFields = IDataObject & CustomFieldsUi & AddressUi;
    type UserUpdateFields = UserAdditionalFields;
    type UserFilterFields = IDataObject & SortUi;
    type Organization = {
        active: boolean;
        id: number;
        name: string;
    };
    type Group = Organization;
    type GroupUpdateFields = UserUpdateFields;
    type User = {
        id: number;
        login: string;
        lastname: string;
        email: string;
        role_ids: number[];
    };
    type Field = {
        id: number;
        display: string;
        name: string;
        object: string;
        created_by_id: number;
    };
    type UserField = {
        display: string;
        name: string;
    };
    type CustomFieldsUi = {
        customFieldsUi?: {
            customFieldPairs: Array<{
                name: string;
                value: string;
            }>;
        };
    };
    type SortUi = {
        sortUi?: {
            sortDetails: {
                sort_by: string;
                order_by: string;
            };
        };
    };
    type AddressUi = {
        addressUi?: {
            addressDetails: {
                city: string;
                country: string;
                street: string;
                zip: string;
            };
        };
    };
    type Article = {
        articleDetails: {
            visibility: 'external' | 'internal';
            subject: string;
            body: string;
            sender: 'Agent' | 'Customer' | 'System';
            type: 'chat' | 'email' | 'fax' | 'note' | 'phone' | 'sms';
            reply_to: string;
        };
    };
}
//# sourceMappingURL=types.d.ts.map