import { IExecuteFunctions, ILoadOptionsFunctions } from 'n8n-workflow';
import { AirCredentials } from '../../../../credentials/AirApi.credentials';
export interface ApiToken {
    _id: string;
    name: string;
    token?: string;
    organizationId: number;
    createdAt: string;
    createdBy: string;
    updatedAt?: string;
    updatedBy?: string;
    expiresAt?: string;
    lastUsedAt?: string;
    isActive: boolean;
}
export interface ApiTokensResponse {
    success: boolean;
    result: {
        entities: ApiToken[];
        filters: Array<{
            name: string;
            type: string;
            options: string[];
            filterUrl: string | null;
        }>;
        sortables: string[];
        totalEntityCount: number;
        currentPage: number;
        pageSize: number;
        previousPage: number;
        totalPageCount: number;
        nextPage: number;
    };
    statusCode: number;
    errors: string[];
}
export interface CreateApiTokenRequest {
    name: string;
    organizationId?: number;
    expiresAt?: string;
    description?: string;
}
export interface CreateApiTokenResponse {
    success: boolean;
    result: ApiToken & {
        token: string;
    };
    statusCode: number;
    errors: string[];
}
export interface UpdateApiTokenRequest {
    name: string;
    expiresAt?: string;
    description?: string;
    isActive?: boolean;
}
export interface UpdateApiTokenResponse {
    success: boolean;
    result: ApiToken;
    statusCode: number;
    errors: string[];
}
export interface DeleteApiTokenResponse {
    success: boolean;
    result: null;
    statusCode: number;
    errors: string[];
}
export interface GetApiTokenResponse {
    success: boolean;
    result: ApiToken;
    statusCode: number;
    errors: string[];
}
export declare const api: {
    getApiTokens(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, organizationIds?: string | string[], queryParams?: Record<string, string | number>): Promise<ApiTokensResponse>;
    createApiToken(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, data: CreateApiTokenRequest): Promise<CreateApiTokenResponse>;
    updateApiToken(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string, data: UpdateApiTokenRequest): Promise<UpdateApiTokenResponse>;
    deleteApiToken(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<DeleteApiTokenResponse>;
    getApiTokenById(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, id: string): Promise<GetApiTokenResponse>;
};
